implement force-remove in manage.py, should only be used when relay is not running

This commit is contained in:
gled 2019-06-11 10:48:49 -07:00
parent f34b42ae78
commit 06d9d4c19e

View file

@ -1,6 +1,9 @@
import asyncio import asyncio
import sys import sys
import simplejson as json
from .actor import follow_remote_actor, unfollow_remote_actor from .actor import follow_remote_actor, unfollow_remote_actor
from . import CONFIG
from .database import DATABASE from .database import DATABASE
@ -34,11 +37,28 @@ def relay_unfollow():
print('Sent unfollow message to:', target) print('Sent unfollow message to:', target)
def relay_forceremove():
if len(sys.argv) < 3:
print('usage: python3 -m relay.manage force-remove <target>')
exit()
target = sys.argv[2]
following = DATABASE.get('relay-list', [])
if target in following:
following.remove(target)
DATABASE['relay-list'] = following
with open('relay.jsonld', 'w') as f:
json.dump(DATABASE, f)
print('Removed target from DB:', target)
TASKS = { TASKS = {
'list': relay_list, 'list': relay_list,
'follow': relay_follow, 'follow': relay_follow,
'unfollow': relay_unfollow 'unfollow': relay_unfollow,
'force-remove': relay_forceremove
} }