Merge pull request #2 from ajayramaswamy/card

Fix for writing Card
This commit is contained in:
kurenai-ryu 2018-04-18 22:43:37 -04:00 committed by GitHub
commit 5467d9dd36
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -526,7 +526,9 @@ class ZK(object):
print "Error pack: %s" % sys.exc_info()[0] print "Error pack: %s" % sys.exc_info()[0]
raise ZKErrorResponse("Cant pack user") raise ZKErrorResponse("Cant pack user")
else: else:
command_string = pack('Hc8s28sc7sx24s', uid, privilege, password, name, chr(0), group_id, user_id) name_pad = name.ljust(24, '\x00')[:24]
card_str = pack('i', int(card))[:4]
command_string = pack('Hc8s24s4sc7sx24s', uid, privilege, password, name_pad, card_str, chr(0), group_id, user_id)
response_size = 1024 response_size = 1024
cmd_response = self.__send_command(command, command_string, response_size) cmd_response = self.__send_command(command, command_string, response_size)
if cmd_response.get('status'): if cmd_response.get('status'):
@ -768,7 +770,7 @@ class ZK(object):
userdata = userdata[28:] userdata = userdata[28:]
else: else:
while len(userdata) >= 72: 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) #u1 = int(uid[0].encode("hex"), 16)
#u2 = int(uid[1].encode("hex"), 16) #u2 = int(uid[1].encode("hex"), 16)
#uid = u1 + (u2 * 256) #uid = u1 + (u2 * 256)
@ -777,9 +779,10 @@ class ZK(object):
name = unicode(name.split('\x00')[0], errors='ignore').strip() name = unicode(name.split('\x00')[0], errors='ignore').strip()
group_id = unicode(group_id.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') user_id = unicode(user_id.split('\x00')[0], errors='ignore')
card = int(unpack('I', separator)[0])
if not name: if not name:
name = "NN-%s" % user_id 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) users.append(user)
userdata = userdata[72:] userdata = userdata[72:]