backup file changed from pickle to json (for python2&3 support)

This commit is contained in:
Arturo Hernandez
2018-09-03 20:00:30 -04:00
parent 84e4d98eb1
commit 69275a79bd
4 changed files with 53 additions and 18 deletions

View File

@@ -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)

View File

@@ -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))