From c51f2430239b5a1531b69da28b5c342a02b49b86 Mon Sep 17 00:00:00 2001 From: quadrismegistus Date: Sat, 12 Sep 2020 18:00:06 +0100 Subject: [PATCH] finally --- komrade/backend/phonelines.py | 37 ++++++++++++++------------------ komrade/backend/the_operator.py | 4 +++- komrade/backend/the_telephone.py | 7 ++++-- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/komrade/backend/phonelines.py b/komrade/backend/phonelines.py index e8407d8..b34e4a2 100644 --- a/komrade/backend/phonelines.py +++ b/komrade/backend/phonelines.py @@ -115,27 +115,22 @@ def check_phonelines(): builtin_keys = pickle.loads(builtin_keys_b) # print(builtin_keys) - for keyring in builtin_keys: - name = keyring.get('name') - keychain = dict((k,v) for k,v in keyring.items() if k!='name') - print(name,keychain) - if not 'pubkey' in keyring: continue - uri = b64encode(keychain.get('pubkey')) - - if not keycrypt.has(name,prefix='/pubkey/'): - keycrypt.set(name,keychain['pubkey'],prefix='/pubkey/') - - for key in [k for k in keychain if k!='pubkey']: - if not keycrypt.has(uri,prefix=f'/{key}/'): - keycrypt.set(uri,keychain[key],prefix=f'/{key}/') - - # make sure world's qr is there too - if name==WORLD_NAME: - import pyqrcode - qr = pyqrcode.create(uri) - ofnfn = os.path.join(PATH_QRCODES,name+'.png') - qr.png(ofnfn,scale=5) - # print('>> saved:',ofnfn) + 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}/') + + # make sure world's qr is there too + ofnfn = os.path.join(PATH_QRCODES,WORLD_NAME+'.png') + if not os.path.exists(ofnfn): + world_uri = b64encode(builtin_keys[WORLD_NAME]['pubkey']) + import pyqrcode + qr = pyqrcode.create(world_uri) + qr.png(ofnfn,scale=5) + #print('>> saved:',ofnfn) return builtin_keys diff --git a/komrade/backend/the_operator.py b/komrade/backend/the_operator.py index 7a850dc..d64b764 100644 --- a/komrade/backend/the_operator.py +++ b/komrade/backend/the_operator.py @@ -33,7 +33,9 @@ class TheOperator(Operator): path_crypt_keys=PATH_CRYPT_OP_KEYS, path_crypt_data=PATH_CRYPT_OP_DATA ) - # self._keychain = self.load_keychain_from_bytes(self.operator_keychain) + from komrade.backend.phonelines import check_phonelines + keychain = check_phonelines()[OPERATOR_NAME] + self._keychain = self.load_keychain_from_bytes(keychain) def ring(self, from_caller=None, diff --git a/komrade/backend/the_telephone.py b/komrade/backend/the_telephone.py index 101e7cd..23eef4e 100644 --- a/komrade/backend/the_telephone.py +++ b/komrade/backend/the_telephone.py @@ -12,7 +12,9 @@ class TheTelephone(Operator): def __init__(self, caller=None): super().__init__(name=TELEPHONE_NAME) self.caller=caller - # self._keychain = self.load_keychain_from_bytes(self.telephone_keychain) + from komrade.backend.phonelines import check_phonelines + keychain = check_phonelines()[TELEPHONE_NAME] + self._keychain = self.load_keychain_from_bytes(keychain) # def find_pubkey(self): # return self.telephone_keychain.get('pubkey') @@ -72,8 +74,9 @@ Please send this message along, would you: {msg_b64_str} def test_call(): phone = TheTelephone() - pprint(phone.keychain()) + pprint(phone.keychain()) + # caller = Caller('marx33') #Caller('marx') # caller.boot(create=True)