komrade update!

posting
quadrismegistus 4 years ago
parent cbf3dc3d9c
commit 46d3eafea4

@ -2,6 +2,7 @@ import os,sys; sys.path.append(os.path.abspath(os.path.join(os.path.abspath(os.p
from komrade import *
from komrade.backend import *
from komrade.backend.keymaker import *
from komrade.backend.messages import Message
@ -306,6 +307,46 @@ class KomradeX(Caller):
return super().ring_ring(msg,caller=self,**y)
def post(self,something,to_name_list=[WORLD_NAME]):
self.log('<-',something,to_name_list)
# encryption chain:
# me -> world
# me -> op
# op <- me
# op -> others
posts=[]
self.log('to_name_list',to_name_list)
for to_name in to_name_list:
self.log(to_name,Komrade(to_name))
# make post data
post_d = {
'from':self.uri,
'from_name':self.name,
'to_name':to_name,
'to':Komrade(to_name).uri,
'msg':something
}
self.log('post_d =',post_d)
# make post into Message
post = Message(post_d)
post.encrypt()
# self.log('post as Message')
# attach encrypted version
# self.log('post as message .msg_d =',post.msg_d)
# self.log('post as message .msg =',post.msg)
posts.append(post.msg_b) #encrypted msg_d
# get total binary package
posts_b = BSEP.join(posts)
self.ring_ring(
{'posts_b':posts_b},
route='post'
)
def msg(self,someone,something):
# find or boot

@ -55,7 +55,8 @@ class Operator(Keymaker):
'deliver_msg',
'check_msgs',
'download_msgs',
'introduce_komrades'
'introduce_komrades',
'post'
]

@ -324,6 +324,25 @@ class TheOperator(Operator):
# self.log('Operator returning result:',dict_format(res,tab=2))
def post(self,msg_to_op):
self.log('post <-',msg_to_op)
data = msg_to_op.data
posts_b = data.get('posts_b')
self.log('posts_b',posts_b)
return {
'status':'Hold your horses.',
'success':False,
}
def deliver_msg(self,msg_to_op):
data = msg_to_op.data
deliver_to = data.get('deliver_to')
@ -646,6 +665,25 @@ from_komrade = {from_komrade}
res['msg_sent']=txt
return res
def test_op():
from komrade.backend.the_telephone import TheTelephone

@ -23,7 +23,8 @@ class CLI(Logger):
'msg':'write people',
'check':'check mail',
'read':'read mail',
'verbose':'show/hide log output'
'verbose':'show/hide log output',
'post':'post to world',
}
def __init__(self,name='',cmd='',persona=None):
@ -401,7 +402,10 @@ class CLI(Logger):
self.help()
def post(self,msg_s):
if self.with_required_login():
res = self.komrade.post(msg_s)
self.stat(res,komrade_name='Operator')

Loading…
Cancel
Save