sedi-relay/relay/database.py

34 lines
733 B
Python
Raw Normal View History

2018-08-10 19:59:46 +00:00
import asyncio
import logging
import urllib.parse
2018-08-10 19:59:46 +00:00
import simplejson as json
from . import CONFIG
try:
with open(CONFIG['db']) as f:
DATABASE = json.load(f)
except:
logging.info('No database was found, making a new one.')
DATABASE = {}
2018-10-31 19:29:30 +00:00
following = DATABASE.get('relay-list', [])
for inbox in following:
if urllib.parse.urlsplit(inbox).hostname in CONFIG['ap']['blocked_instances']:
2018-10-31 19:29:30 +00:00
following.remove(inbox)
DATABASE['relay-list'] = following
2018-08-10 19:59:46 +00:00
if 'actors' in DATABASE:
DATABASE.pop('actors')
2018-08-10 19:59:46 +00:00
async def database_save():
while True:
with open(CONFIG['db'], 'w') as f:
json.dump(DATABASE, f)
await asyncio.sleep(30)
asyncio.ensure_future(database_save())