From 736f32cc7a47bfe571fa1861aff74aaeea8dfda4 Mon Sep 17 00:00:00 2001 From: quadrismegistus Date: Tue, 15 Sep 2020 11:17:06 +0100 Subject: [PATCH] updates --- komrade/backend/komrades.py | 3 ++- komrade/backend/messages.py | 10 +++++++--- komrade/cli/cli.py | 29 ++++++++++++++++++++++++++--- 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/komrade/backend/komrades.py b/komrade/backend/komrades.py index 3974bb6..da9882c 100644 --- a/komrade/backend/komrades.py +++ b/komrade/backend/komrades.py @@ -388,6 +388,7 @@ class KomradeX(Caller): msgs.append(msg) if len(msgs)>=topn: break # print('!!',post_id,msg.from_whom, msg.to_whom, msg.from_whom is self) + return msgs # return all messages read? @@ -494,7 +495,7 @@ class KomradeX(Caller): # store -- encrypted! posts_downloaded = [] for post_id,post_encr in res['data_encr'].items(): - print('storing...',post_id) + # print('storing...',post_id) self.crypt_keys.set( post_id, post_encr, diff --git a/komrade/backend/messages.py b/komrade/backend/messages.py index d479459..b3ca281 100644 --- a/komrade/backend/messages.py +++ b/komrade/backend/messages.py @@ -47,12 +47,16 @@ class Message(Logger): msg=b64enc_s(self.msg) else: msg=self.msg + + fpk=b64enc_s(self.from_pubkey) + fpk1,fpk2 = fpk[:len(fpk)//2],fpk[len(fpk)//2:] + return f""" from: @{self.from_name if self.from_name else ''} - ({b64enc_s(self.from_pubkey)}) - + #{b64enc_s(self.from_pubkey)} + to: @{self.to_name if self.to_name else ''} - ({b64enc_s(self.to_pubkey)}) + #{b64enc_s(self.to_pubkey)} msg: {msg} """ diff --git a/komrade/cli/cli.py b/komrade/cli/cli.py index a546283..41a5e5d 100644 --- a/komrade/cli/cli.py +++ b/komrade/cli/cli.py @@ -16,6 +16,7 @@ class CLI(Logger): 'who':'show contacts or info', 'msg':'write people', 'check':'check mail', + 'read':'read mail', 'verbose':'show/hide log output' } @@ -73,10 +74,13 @@ class CLI(Logger): HELPSTR = """ /login [name] --> log back in /register [name] --> new komrade""" + ((""" + /meet [name] --> exchange info /msg [name] [msg] --> write to person or group /who [name] --> show contact info - /check --> check for new posts""") + + /check [inbox] --> check for new posts + /read [inbox] --> read posts""") if self.with_required_login(quiet=True) else "") + """ /help --> seek help """ @@ -160,8 +164,27 @@ class CLI(Logger): def check(self,dat): if self.with_required_login(): - res = self.komrade.check_msgs() - print('@Operator:',res) + res = self.komrade.refresh() + if not res['success']: + print(f"@Operator: {res['status']}\n") + else: + unr = res.get('unread',[]) + inb = res.get('inbox',[]) + print(f'@Operator: You have {len(unr)} unread messages, with {len(inb)} total in your inbox.\n') + + def read(self,dat): + if self.with_required_login(): + msgs = self.komrade.inbox() + if not msgs: + print('@Operator: No messages.') + else: + clear_screen() + for i,msg in enumerate(msgs): + print(f'@Operator: Message {i+1} of {len(msgs)}:\n\n') + print(msg) + do_pause() + clear_screen() +