From dc142f38efad69c82f1c39f7232434ad14224abb Mon Sep 17 00:00:00 2001 From: Ajay Ramaswamy Date: Wed, 18 Apr 2018 05:45:59 +0530 Subject: [PATCH 1/3] silence an informational message --- zk/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zk/base.py b/zk/base.py index 21da492..d054910 100644 --- a/zk/base.py +++ b/zk/base.py @@ -676,7 +676,7 @@ class ZK(object): """ return all user """ users = [] userdata, size = self.read_with_buffer(const.CMD_USERTEMP_RRQ, const.FCT_USER) - print "user size %i" % size + #print "user size %i" % size if size < 4: print "WRN: no user data" # debug return [] From 4a5e298ee50ee44bc463db213e1bbc3ffc24b8b5 Mon Sep 17 00:00:00 2001 From: Ajay Ramaswamy Date: Wed, 18 Apr 2018 06:01:18 +0530 Subject: [PATCH 2/3] Add support for reading RFID cards From my tests I see that the name is 24 characters and the RFID card is encoded in the next 4 positions as an Integer --- zk/base.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zk/base.py b/zk/base.py index d054910..113b497 100644 --- a/zk/base.py +++ b/zk/base.py @@ -698,7 +698,7 @@ class ZK(object): userdata = userdata[28:] else: while len(userdata) >= 72: - uid, privilege, password, name, sparator, group_id, user_id = unpack('Hc8s28sc7sx24s', userdata.ljust(72)[:72]) + uid, privilege, password, name, separator, group_id, user_id = unpack('Hc8s24s4sx7sx24s', userdata.ljust(72)[:72]) #u1 = int(uid[0].encode("hex"), 16) #u2 = int(uid[1].encode("hex"), 16) #uid = u1 + (u2 * 256) @@ -707,9 +707,10 @@ class ZK(object): name = unicode(name.split('\x00')[0], errors='ignore').strip() group_id = unicode(group_id.split('\x00')[0], errors='ignore').strip() user_id = unicode(user_id.split('\x00')[0], errors='ignore') + card = int(unpack('I', separator)[0]) if not name: name = "NN-%s" % user_id - user = User(uid, name, privilege, password, group_id, user_id) + user = User(uid, name, privilege, password, group_id, user_id, card) users.append(user) userdata = userdata[72:] return users From e73e20947fbb1661ecbab2302abf42a1ac916bc4 Mon Sep 17 00:00:00 2001 From: Ajay Ramaswamy Date: Wed, 18 Apr 2018 06:03:46 +0530 Subject: [PATCH 3/3] update test to show card detail --- test.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test.py b/test.py index 37bec2e..cbac697 100644 --- a/test.py +++ b/test.py @@ -26,6 +26,7 @@ try: print ' Password : {}'.format(user.password) print ' Group ID : {}'.format(user.group_id) print ' User ID : {}'.format(user.user_id) + print ' Card : {}'.format(user.card) print "Voice Test ..." conn.test_voice()