diff --git a/komrade/backend/komrades.py b/komrade/backend/komrades.py index 715b9d6..03d798f 100644 --- a/komrade/backend/komrades.py +++ b/komrade/backend/komrades.py @@ -266,7 +266,9 @@ class KomradeX(Caller): self.log('got someone =',someone,type(someone)) - + def contacts(self): + # who do I know? + return sorted([fn.split('.png')[0] for fn in os.listdir(PATH_QRCODES)]) diff --git a/komrade/cli/cli.py b/komrade/cli/cli.py index a4a1b69..5d2aaff 100644 --- a/komrade/cli/cli.py +++ b/komrade/cli/cli.py @@ -7,6 +7,7 @@ HELPSTR = """ /login [name] --> log back in /register [name] --> new komrade /meet [name] --> exchange info + /who [name] --> show contact info /help --> seek help """ @@ -15,7 +16,8 @@ class CLI(Logger): 'help':'seek help', 'register':'join the komrades', 'login':'log back in', - 'meet':'meet a komrade' + 'meet':'meet a komrade', + 'who':'show contacts or info' } def __init__(self,name='',cmd='',persona=None): @@ -65,7 +67,13 @@ class CLI(Logger): print(HELPSTR) def intro(self): - self.status(None,) + self.status(None) + + def who(self): + if self.with_required_login(): + contacts = self.komrade.contacts() + print(' ' + '\n '.join(contacts)) + def register(self,name=None): if not name: name=input('name: ') @@ -106,10 +114,15 @@ class CLI(Logger): def logged_in(self): return (self.loggedin and self.komrade and self.name) - def meet(self,name): + + def with_required_login(self): if not self.logged_in: print('@Operator: You must be logged in first.\n') - return + return False + return True + + def meet(self,name): + if not name: name=input(f'@Operator: To whom would you like to introduce yourself?\n\n@{self.name}: ') if not name: return