Merge branch 'feature-delete' into 'master'
[relay.git/.git] / relay / manage.py
1 import asyncio
2 import sys
3 from .actor import follow_remote_actor, unfollow_remote_actor
4 from .database import DATABASE
5
6
7 def relay_list():
8     print('Connected to the following instances or relays:')
9     [print('-', relay) for relay in DATABASE['relay-list']]
10
11
12 def relay_follow():
13     if len(sys.argv) < 3:
14         print('usage: python3 -m relay.manage follow <target>')
15         exit()
16
17     target = sys.argv[2]
18
19     loop = asyncio.get_event_loop()
20     loop.run_until_complete(follow_remote_actor(target))
21
22     print('Sent follow message to:', target)
23
24
25 def relay_unfollow():
26     if len(sys.argv) < 3:
27         print('usage: python3 -m relay.manage unfollow <target>')
28         exit()
29
30     target = sys.argv[2]
31
32     loop = asyncio.get_event_loop()
33     loop.run_until_complete(unfollow_remote_actor(target))
34
35     print('Sent unfollow message to:', target)
36
37
38 TASKS = {
39     'list': relay_list,
40     'follow': relay_follow,
41     'unfollow': relay_unfollow
42 }
43
44
45 def usage():
46     print('usage: python3 -m relay.manage <task> [...]')
47     print('tasks:')
48     [print('-', task) for task in TASKS.keys()]
49     exit()
50
51
52 def main():
53     if len(sys.argv) < 2:
54         usage()
55
56     if sys.argv[1] in TASKS:
57         TASKS[sys.argv[1]]()
58     else:
59         usage()
60
61
62 if __name__ == '__main__':
63     main()