From 65a2636542188a9e58db991ea284df1427c1a0b9 Mon Sep 17 00:00:00 2001 From: quadrismegistus Date: Thu, 17 Sep 2020 18:29:18 +0100 Subject: [PATCH] komrade update! --- komrade/backend/komrades.py | 7 ++++++- komrade/backend/operators.py | 36 +++++++++++++++++++++++++++++++++ komrade/backend/the_operator.py | 24 ---------------------- komrade/cli/cli.py | 2 +- 4 files changed, 43 insertions(+), 26 deletions(-) diff --git a/komrade/backend/komrades.py b/komrade/backend/komrades.py index 956d52e..fbabe18 100644 --- a/komrade/backend/komrades.py +++ b/komrade/backend/komrades.py @@ -536,6 +536,10 @@ class KomradeX(Caller): return msgs + # def delete_msg(self,post_id): + + + def read_msg(self,post_id=None,post_encr=None): # get post if not post_encr: @@ -551,7 +555,7 @@ class KomradeX(Caller): msg_from_op_b = SMessage( self.privkey.data, self.op.pubkey.data - ).unwrap(post_encr) + ).unwrap(msg_from_op_b_encr) self.log('decrypted??',msg_from_op_b) except ThemisError as e: self.log(f'!!!!! {e} !!!!!') @@ -598,6 +602,7 @@ class KomradeX(Caller): 'status':f'De/encryption failure: {e}' } + msg2me.post_id=post_id return { 'success':True, 'msg':msg2me diff --git a/komrade/backend/operators.py b/komrade/backend/operators.py index 09b76da..32efe5c 100644 --- a/komrade/backend/operators.py +++ b/komrade/backend/operators.py @@ -302,6 +302,42 @@ class Operator(Keymaker): self.log('-->',inbox_crypt) return inbox_crypt + def delete_post(self,post_id,**y): + return self.delete_posts([post_id],**y) + + def delete_posts(self, + post_ids, + inbox_uri=None, + inbox_prefix='/inbox/', + post_prefix='/post/'): + + # delete from posts + deleted_post_ids=[] + for post_id in post_ids: + if self.crypt_data.delete( + post_id, + prefix=post_prefix + ): + deleted_post_ids.append(post_id) + self.log('deleted_post_ids',deleted_post_ids,'...') + + res = { + 'deleted':post_ids, + } + + # delete from inbox + inbox_uri = self.uri if not inbox_uri else inbox_uri + if inbox_uri: + inbox_db=self.get_inbox_crypt( + uri=inbox_uri, + ) + res['deleted_from_inbox']=inbox_db.remove( + deleted_post_ids + ) + + self.log('-->',res) + return res + @property diff --git a/komrade/backend/the_operator.py b/komrade/backend/the_operator.py index 91f203c..225391d 100644 --- a/komrade/backend/the_operator.py +++ b/komrade/backend/the_operator.py @@ -707,31 +707,7 @@ class TheOperator(Operator): self.log(f'--> {res}') return res - def delete_posts(self,post_ids,inbox_uri=None): - # delete from posts - deleted_post_ids=[] - for post_id in post_ids: - if self.crypt_data.delete( - post_id, - prefix='/post/' - ): - deleted_post_ids.append(post_id) - self.log('deleted_post_ids',deleted_post_ids,'...') - res = { - 'deleted':post_ids, - } - # delete from inbox - if inbox_uri: - inbox_db=self.get_inbox_crypt( - uri=inbox_uri, - ) - res['deleted_from_inbox']=inbox_db.remove( - deleted_post_ids - ) - - self.log('-->',res) - return res diff --git a/komrade/cli/cli.py b/komrade/cli/cli.py index c642a1d..c36ffab 100644 --- a/komrade/cli/cli.py +++ b/komrade/cli/cli.py @@ -346,7 +346,7 @@ class CLI(Logger): do=do.strip().lower() if do=='d': # self.print('del',msg.post_id) - res=self.komrade.delete_msg(msg.post_id) + res=self.komrade.delete_post(msg.post_id) if res.get('success'): self.stat('Deleted message.') else: