posting
quadrismegistus 4 years ago
parent 8c57b77984
commit fc8fc2d148

@ -335,7 +335,11 @@ class KomradeX(Caller):
}
self.log('sending msg to op:',msg)
res = self.ring_ring(msg,route='check_msgs')
# Ring operator
res = self.ring_ring(
msg,
route='check_msgs'
)
self.log('got back response:',res)
# decrypt?
@ -372,7 +376,10 @@ class KomradeX(Caller):
'inbox':inbox
}
def inbox(self,topn=100,only_unread=False):
def delete_msg(self,post_id):
self.crypt_keys.delete(post_id,prefix='/post/')
def inbox(self,topn=100,only_unread=False,delete_malformed=True):
# refreshing inbox
res = self.refresh()
if not res['success']: return res
@ -380,15 +387,23 @@ class KomradeX(Caller):
post_ids = res[boxname]
msgs=[]
for post_id in post_ids:
malformed = False
try:
msg = self.read_msg(post_id)
except ThemisError as e:
self.log(f'!! Could not decrypt post {post_id}')
continue
malformed = True
if not msg.from_name or not msg.from_pubkey:
self.log('!! Invalid sender info!')
continue
malformed = True
if not malformed:
msgs.append(msg)
elif delete_malformed:
msgs.append(msg)
if len(msgs)>=topn: break

@ -53,7 +53,7 @@ class Message(Logger):
numchar = len(b64enc_s(self.to_pubkey))
linestr = '-'*(numchar+2)
return f""" -------{linestr}
return f""" -------{linestr}
from: @{self.from_name if self.from_name else ''}
[{b64enc_s(self.from_pubkey)}]
@ -61,9 +61,9 @@ class Message(Logger):
to: @{self.to_name if self.to_name else ''}
[{b64enc_s(self.to_pubkey)}]
-------{linestr}
-------{linestr}
msg: {msg}
msg: {msg}
"""

@ -455,7 +455,8 @@ from_komrade = {from_komrade}
'name',
'pubkey',
'post_ids',
]):
],
delete_afterward=True):
# logged in?
login_res = self.login(msg_to_op)
@ -472,9 +473,19 @@ from_komrade = {from_komrade}
if post:
posts[post_id] = post
self.log(f'I {self} found {len(posts)} for {msg_to_op.from_name}')
# delete?
if delete_afterward:
# @hack: this a bit dangerous?
for post_id in posts:
self.crypt_keys.delete(
post_id,
prefix='/post/'
)
self.log('deleting post id',post_id,'...')
return {
'status':'Succeeded in getting posts.',
'status':'Succeeded in downloading new messages.' + (' I\'ve already deleted these messages from the server.' if delete_afterward else ''),
'success':True,
'data_encr':posts
}

@ -15,7 +15,7 @@ class CLI(Logger):
'meet':'meet a komrade',
'who':'show contacts or info',
'msg':'write people',
'check':'check mail',
'refresh':'refresh mail',
'read':'read mail',
'verbose':'show/hide log output'
}
@ -81,8 +81,8 @@ class CLI(Logger):
/msg [name] [msg] --> write to person or group
/who [name] --> show contact info
/check [inbox] --> check for new posts
/read [inbox] --> read posts""")
/refresh [inbox] --> refresh messages
/read [inbox] --> read messages""")
if self.with_required_login(quiet=True) else "") + """
/help --> seek help
"""
@ -165,7 +165,7 @@ class CLI(Logger):
)
self.log(f'Sent msg obj to {name_or_pubkey}: {msg_obj}')
def check(self,dat):
def refresh(self,dat):
if self.with_required_login():
res = self.komrade.refresh()
if not res['success']:
@ -187,6 +187,7 @@ class CLI(Logger):
print(msg)
do_pause()
clear_screen()
self.help()

Loading…
Cancel
Save