From 332fd6992e9cff682fb78df77e18b4fea9000f25 Mon Sep 17 00:00:00 2001 From: kaniini Date: Sun, 18 Nov 2018 14:41:00 +0000 Subject: [PATCH] relay: add manage task, allows for following/unfollowing remote peers --- relay/manage.py | 63 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 relay/manage.py diff --git a/relay/manage.py b/relay/manage.py new file mode 100644 index 0000000..bdc5425 --- /dev/null +++ b/relay/manage.py @@ -0,0 +1,63 @@ +import asyncio +import sys +from .actor import follow_remote_actor, unfollow_remote_actor +from .database import DATABASE + + +def relay_list(): + print('Connected to the following instances or relays:') + [print('-', relay) for relay in DATABASE['relay-list']] + + +def relay_follow(): + if len(sys.argv) < 3: + print('usage: python3 -m relay.manage follow ') + exit() + + target = sys.argv[2]) + + loop = asyncio.get_event_loop() + loop.run_until_complete(follow_remote_actor(target)) + + print('Sent follow message to:', target) + + +def relay_unfollow(): + if len(sys.argv) < 3: + print('usage: python3 -m relay.manage unfollow ') + exit() + + target = sys.argv[2]) + + loop = asyncio.get_event_loop() + loop.run_until_complete(unfollow_remote_actor(target)) + + print('Sent unfollow message to:', target) + + +TASKS = { + 'list': relay_list, + 'follow': relay_follow, + 'unfollow': relay_unfollow +} + + +def usage(): + print('usage: python3 -m relay.manage [...]') + print('tasks:') + [print('-', task) for task in TASKS.keys()] + exit() + + +def main(): + if len(sys.argv) < 2: + usage() + + if sys.argv[1] in TASKS: + TASKS[sys.argv[1]]() + else: + usage() + + +if __name__ == '__main__': + main()