def checkConnection(self, url):
        try:
            # Try connection
            response = urllib2.urlopen(url, timeout=1)

            # Connection successful, activate Connection-LED
            feedbackHandler.setFeedback(feedbackHandler.CONNECTION, feedbackHandler.ACTIVE)

            return True
        except urllib2.URLError as e:
            # No Connection to Server
            feedbackHandler.setFeedback(feedbackHandler.CONNECTION, feedbackHandler.INACTIVE)
        finally:
            return False
Example #2
0
    def checkConnection(self, url):
        try:
            # Try connection
            response = urllib2.urlopen(url, timeout=1)

            # Connection successful, activate Connection-LED
            feedbackHandler.setFeedback(feedbackHandler.CONNECTION,
                                        feedbackHandler.ACTIVE)

            return True
        except urllib2.URLError as e:
            # No Connection to Server
            feedbackHandler.setFeedback(feedbackHandler.CONNECTION,
                                        feedbackHandler.INACTIVE)
        finally:
            return False
    def webConnect(self, uid, resource):
        request_data = {}
        request_data['card_uid'] = "".join(map(str, uid))
        request_data['event_key'] = self.eventKey
        request_data['resource'] = resource

        try:
            print "Calling " + str(self.url) + " with Options: " + str(request_data)
            request = urllib2.Request(self.url, data=json.dumps(request_data))
            request.add_header('Content-Type', 'application/json')
            response = urllib2.urlopen(request, timeout=1)

            if response.code is 200:
                self.saveCurrUID(uid)
                self.processWebResponse(response)
                # Yay, everything good -> Success-Feedback
                feedbackHandler.setFeedback(feedbackHandler.SUCCESS, feedbackHandler.ACTIVE)
            else:
                # Not 200er Code? Error-Feedback
                feedbackHandler.setFeedback(feedbackHandler.ERROR, feedbackHandler.ACTIVE)

                print "Error from Webservice: " + str(response.code)
        except urllib2.URLError as e:
            # Error while POSTing Data -> Error-Feedback
            feedbackHandler.setFeedback(feedbackHandler.ERROR, feedbackHandler.ACTIVE)
        except Exception as e:
            print e
    def webConnect(self, uid, resource):
        request_data = {}
        request_data['card_uid'] = "".join(map(str, uid))
        request_data['event_key'] = self.eventKey
        request_data['resource'] = resource

        try:
            print "Calling " + str(
                self.url) + " with Options: " + str(request_data)
            request = urllib2.Request(self.url, data=json.dumps(request_data))
            request.add_header('Content-Type', 'application/json')
            response = urllib2.urlopen(request, timeout=1)

            if response.code is 200:
                self.saveCurrUID(uid)
                self.processWebResponse(response)
                # Yay, everything good -> Success-Feedback
                feedbackHandler.setFeedback(feedbackHandler.SUCCESS,
                                            feedbackHandler.ACTIVE)
            else:
                # Not 200er Code? Error-Feedback
                feedbackHandler.setFeedback(feedbackHandler.ERROR,
                                            feedbackHandler.ACTIVE)

                print "Error from Webservice: " + str(response.code)
        except urllib2.URLError as e:
            # Error while POSTing Data -> Error-Feedback
            feedbackHandler.setFeedback(feedbackHandler.ERROR,
                                        feedbackHandler.ACTIVE)
        except Exception as e:
            print e
class cardWebconnector(object):
    lastId = None
    url = None
    eventKey = None

    def __init__(self, args):
        self.url = args['--url']
        self.eventKey = args['--event-key']

    def update(self, observable, (addedcards, removedcards)):
        for card in addedcards:
            # Create connection
            connection = card.createConnection()
            connection.connect()

            # Get Reader-ID as Resource
            resource = self.getReaderID(connection)

            # Get Card-UID
            cardUID = self.getUID(connection)
            print "Inserted Card with UID: " + str(cardUID)

            if self.checkNewUID(cardUID):
                # here we go
                self.webConnect(cardUID, resource)
            else:
                print "#### Same UID ( " + str(
                    cardUID) + " ) as Before... Skipping... ####"
                feedbackHandler.setFeedback(feedbackHandler.ERROR,
                                            feedbackHandler.ACTIVE)

        for card in removedcards:
            feedbackHandler.setFeedback(feedbackHandler.SUCCESS,
                                        feedbackHandler.INACTIVE)
            feedbackHandler.setFeedback(feedbackHandler.ERROR,
                                        feedbackHandler.INACTIVE)