backup file changed from pickle to json (for python2&3 support)
This commit is contained in:
22
zk/finger.py
22
zk/finger.py
@@ -16,10 +16,26 @@ class Finger(object):
|
||||
|
||||
def repack_only(self): #only template
|
||||
return pack("H%is" % (self.size), self.size, self.template)
|
||||
|
||||
def __eq__(self, other):
|
||||
@staticmethod
|
||||
def json_unpack(json):
|
||||
return Finger(
|
||||
uid=json['uid'],
|
||||
fid=json['fid'],
|
||||
valid=json['valid'],
|
||||
template=codecs.decode(json['template'],'hex')
|
||||
)
|
||||
def json_pack(self): #packs for json
|
||||
return {
|
||||
"size": self.size,
|
||||
"uid": self.uid,
|
||||
"fid": self.fid,
|
||||
"valid": self.valid,
|
||||
"template": codecs.encode(self.template, 'hex').decode('ascii')
|
||||
}
|
||||
|
||||
def __eq__(self, other):
|
||||
return self.__dict__ == other.__dict__
|
||||
|
||||
|
||||
def __str__(self):
|
||||
return "<Finger> [uid:{:>3}, fid:{}, size:{:>4} v:{} t:{}]".format(self.uid, self.fid, self.size, self.valid, self.mark)
|
||||
|
||||
|
||||
15
zk/user.py
15
zk/user.py
@@ -10,7 +10,20 @@ class User(object):
|
||||
self.password = str(password)
|
||||
self.group_id = str(group_id)
|
||||
self.user_id = user_id
|
||||
self.card = card # 64 int to 40 bit int
|
||||
self.card = int(card) # 64 int to 40 bit int
|
||||
|
||||
@staticmethod
|
||||
def json_unpack(json):
|
||||
#validate?
|
||||
return User(
|
||||
uid=json['uid'],
|
||||
name=json['name'],
|
||||
privilege=json['privilege'],
|
||||
password=json['password'],
|
||||
group_id=json['group_id'],
|
||||
user_id=json['user_id'],
|
||||
card=json['card']
|
||||
)
|
||||
|
||||
def repack29(self): # with 02 for zk6 (size 29)
|
||||
return pack("<BHB5s8sIxBhI", 2, self.uid, self.privilege, self.password.encode(User.encoding, errors='ignore'), self.name.encode(User.encoding, errors='ignore'), self.card, int(self.group_id) if self.group_id else 0, 0, int(self.user_id))
|
||||
|
||||
Reference in New Issue
Block a user