VendServer - Log when a vend fails
[uccvend-vendserver.git] / VendServer / OpenDispense.py
index c8dcf83..5e41363 100644 (file)
@@ -72,6 +72,8 @@ class OpenDispense(DispenseInterface):
                return False
 
        def authMifareCard(self, cardId):
+               self._loggedIn = False
+               self._username = None
                if DISPSRV_MIFARE:
                        card_base64 = base64.b64encode(cardId)
                        
@@ -86,8 +88,10 @@ class OpenDispense(DispenseInterface):
                        sockf.write("AUTHCARD %s\n" % (card_base64,)); sockf.flush()
                        rsp = sockf.readline()
                        if not "200" in rsp:
-                               raise ValueError, "no UID found for card ID"
+                               logging.info("Rejected card base64:%s" % (card_base64,))
+                               return False
                        username = rsp.split('=')[1].strip()
+                       logging.info("Accepted card base64:%s for %s" % (card_base64,username,))
 
                        # Check for thier username
                        try:
@@ -114,6 +118,11 @@ class OpenDispense(DispenseInterface):
                self._userid = info.pw_uid
                self._username = info.pw_name
                return True
+        def logOut(self):
+            self._loggedIn = False
+            self._disabled = False
+            self._userId = None
+            self._username = None
 
        def addCard(self, cardId):
                if not self.isLoggedIn():
@@ -127,10 +136,10 @@ class OpenDispense(DispenseInterface):
                        sockf.write("AUTHIDENT\n")
                        sockf.flush(); rsp = sockf.readline()
                        assert "200" in rsp
-                       sockf.write("SETEUSER %s\n", self._username)
+                       sockf.write("SETEUSER %s\n" % (self._username,))
                        sockf.flush(); rsp = sockf.readline()
                        assert "200" in rsp
-                       sockf.write("CARD_ADD %s\n", card_base64)
+                       sockf.write("CARD_ADD %s\n" % (card_base64,))
                        sockf.flush(); rsp = sockf.readline()
                        if "200" in rsp:
                                return True

UCC git Repository :: git.ucc.asn.au