relay: add manage task, allows for following/unfollowing remote peers
This commit is contained in:
parent
5871c40667
commit
332fd6992e
63
relay/manage.py
Normal file
63
relay/manage.py
Normal file
|
@ -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 <target>')
|
||||||
|
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 <target>')
|
||||||
|
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 <task> [...]')
|
||||||
|
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()
|
Loading…
Reference in a new issue