Update mifare port. Add function to get uid.
[zanchey/dispense2.git] / sql-edition / servers / MIFAREClient.py
1 from MIFAREDriver import MIFAREReader, MIFAREException\r
2 from serial import Serial\r
3 from LDAPConnector import get_uid, set_card_id\r
4 \r
5 class MIFAREClient:\r
6     def __init__(self):\r
7         self.port = Serial('/dev/ttyS0', baudrate = 19200)\r
8         self.reader = MIFAREReader(self.port)\r
9         self.reader.set_led(red = False, green = True)\r
10         self.reader.beep(100)\r
11     \r
12     def get_card_id(self):\r
13         self.reader.set_led(red = True, green = False)\r
14         try:\r
15             card_id, capacity = self.reader.select_card()\r
16         except MIFAREException:\r
17             self.reader.set_led(red = False, green = True)\r
18             return None\r
19         else:\r
20             self.reader.set_led(red = False, green = True)\r
21             self.reader.beep(100)\r
22             return card_id\r
23     \r
24     def get_card_uid(self):\r
25                 card_id = self.get_card_id()\r
26                 if card_id == None:\r
27                         return None\r
28                 else:\r
29                         return get_uid(card_id)\r
30     \r
31     def add_card(self, uid):\r
32         self.reader.set_led(red = True, green = False)\r
33         for attempt in range(5):\r
34             self.reader.beep(50)\r
35             try:\r
36                 card_id, capacity = self.reader.select_card()\r
37             except MIFAREException:\r
38                 pass\r
39             else:\r
40                 set_card_id(uid, card_id)\r
41                 self.reader.set_led(red = False, green = True)\r
42                 return True\r
43         self.reader.set_led(red = False, green = True)\r
44         return False\r

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