diff --git a/komrade/backend/crypt.py b/komrade/backend/crypt.py index 5967e1f..ec76b1e 100644 --- a/komrade/backend/crypt.py +++ b/komrade/backend/crypt.py @@ -93,8 +93,8 @@ class Crypt(Logger): return False - def set(self,k,v,prefix=''): - if self.has(k,prefix=prefix): + def set(self,k,v,prefix='',override=False): + if self.has(k,prefix=prefix) and not override: self.log("I'm afraid I can't let you do that, overwrite someone's data!") return (False,None,None) diff --git a/komrade/backend/phonelines.py b/komrade/backend/phonelines.py index b364bf0..c7c5a5a 100644 --- a/komrade/backend/phonelines.py +++ b/komrade/backend/phonelines.py @@ -123,13 +123,13 @@ def check_phonelines(): builtin_keys = pickle.loads(b64decode(builtin_keys_b64)) # print(builtin_keys) - # for name in builtin_keys: - # pubkey=builtin_keys[name]['pubkey'] - # uri_id=b64encode(pubkey) - # for keyname,keyval in builtin_keys[name].items(): - # uri=name if keyname=='pubkey' else uri_id - # if not keycrypt.has(uri,f'/{keyname}/'): - # keycrypt.set(uri,keyval,f'/{keyname}/') + for name in builtin_keys: + pubkey=builtin_keys[name]['pubkey'] + uri_id=b64encode(pubkey) + keycrypt.set(uri.decode(),name,f'/{name}/',override=True) + for keyname,keyval in builtin_keys[name].items(): + uri=name if keyname=='pubkey' else uri_id + keycrypt.set(uri,keyval,f'/{keyname}/',override=True) # make sure world's qr is there too ofnfn = os.path.join(PATH_QRCODES,WORLD_NAME+'.png')