Fix MIFARE card enrollment and login
[uccvend-vendserver.git] / VendServer / OpenDispense.py
index c8dcf83..0ce8223 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,7 +88,7 @@ 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"
+                               return False
                        username = rsp.split('=')[1].strip()
 
                        # Check for thier username
@@ -127,10 +129,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