komrade update!

back-to-app
quadrismegistus 4 years ago
parent 63d8e6051e
commit 4ff300a052

@ -155,85 +155,85 @@ class DataCrypt(Crypt):
# class CryptList(Crypt): # like inbox
# def __init__(self,
# crypt,
# keyname,
# prefix='',
# encryptor_func=lambda x: x,
# decryptor_func=lambda x: x):
class CryptList(Crypt): # like inbox
def __init__(self,
crypt,
keyname,
prefix='',
encryptor_func=lambda x: x,
decryptor_func=lambda x: x):
# self.crypt=crypt
# self.keyname=keyname
# self.prefix=prefix
# self.encryptor_func=encryptor_func
# self.decryptor_func=decryptor_func
# def __repr__(self):
# return f"""
# (CryptList)
# val_b_encr = {self.val_b_encr}
# val_b = {self.val_b}
# values = {self.values}
# """
self.crypt=crypt
self.keyname=keyname
self.prefix=prefix
self.encryptor_func=encryptor_func
self.decryptor_func=decryptor_func
def __repr__(self):
return f"""
(CryptList)
val_b_encr = {self.val_b_encr}
val_b = {self.val_b}
values = {self.values}
"""
# @property
# def val_b_encr(self):
# res = self.crypt.get(
# self.keyname,
# prefix=self.prefix
# )
# self.log('res from crypt:',res)
# return res
@property
def val_b_encr(self):
res = self.crypt.get(
self.keyname,
prefix=self.prefix
)
self.log('res from crypt:',res)
return res
# @property
# def val_b(self):
# val_b_encr=self.val_b_encr
# if not val_b_encr: return None
# return self.decryptor_func(val_b_encr)
@property
def val_b(self):
val_b_encr=self.val_b_encr
if not val_b_encr: return None
return self.decryptor_func(val_b_encr)
# @property
# def values(self):
# if not hasattr(self,'_values') or not self._values:
# val_b=self.val_b
# if not val_b: return []
# self._values = pickle.loads(val_b)
# return self._values
# def prepend(self,x_l):
# return self.append(x_l,insert=0)
# def append(self,x_l,insert=None):
# if type(x_l)!=list: x_l=[x_l]
# val_l = self.values
# self.log('val_l =',val_l)
# x_l = [x for x in x_l if not x in set(val_l)]
# # print('val_l =',val_l)
# for x in x_l:
# if insert is not None:
# val_l.insert(insert,x)
# else:
# val_l.append(x)
# # print('val_l2 =',val_l)
# return self.set(val_l)
# def set(self,val_l):
# self._values = val_l
# val_b = pickle.dumps(val_l)
# val_b_encr = self.encryptor_func(val_b)
# return self.crypt.set(
# self.keyname,
# val_b_encr,
# prefix=self.prefix,
# override=True
# )
@property
def values(self):
if not hasattr(self,'_values') or not self._values:
val_b=self.val_b
if not val_b: return []
self._values = pickle.loads(val_b)
return self._values
def prepend(self,x_l):
return self.append(x_l,insert=0)
def append(self,x_l,insert=None):
if type(x_l)!=list: x_l=[x_l]
val_l = self.values
self.log('val_l =',val_l)
x_l = [x for x in x_l if not x in set(val_l)]
# print('val_l =',val_l)
for x in x_l:
if insert is not None:
val_l.insert(insert,x)
else:
val_l.append(x)
# print('val_l2 =',val_l)
return self.set(val_l)
def set(self,val_l):
self._values = val_l
val_b = pickle.dumps(val_l)
val_b_encr = self.encryptor_func(val_b)
return self.crypt.set(
self.keyname,
val_b_encr,
prefix=self.prefix,
override=True
)
# def remove(self,l):
# if type(l)!=list: l=[l]
# lset=set(l)
# values = [x for x in self.values if x not in lset]
# return self.set(values)
def remove(self,l):
if type(l)!=list: l=[l]
lset=set(l)
values = [x for x in self.values if x not in lset]
return self.set(values)
@ -241,7 +241,7 @@ class DataCrypt(Crypt):
class CryptList(Logger):
class CryptList2(Logger):
def __init__(self,keyname,prefix='',**y):
self.redis = redis.StrictRedis()
# self.store = RedisStore(self.redis)

Loading…
Cancel
Save