X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=VendServer%2FOpenDispense.py;h=5e413630f6ce6adc552f1744c303f46e019ca7de;hb=416c876713175e18280d86a427b29d941611828e;hp=c8dcf836d36b8bfb5f8ac164a8825598bb746345;hpb=8861a669b4611e2dbf7aa5354f0248aafba3ef91;p=uccvend-vendserver.git diff --git a/VendServer/OpenDispense.py b/VendServer/OpenDispense.py index c8dcf83..5e41363 100644 --- a/VendServer/OpenDispense.py +++ b/VendServer/OpenDispense.py @@ -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