API now only returns block levels that are used

This commit is contained in:
Enju Aihara 2022-04-14 20:26:19 +02:00
parent f54f8ff101
commit eec20e4659

43
api.py
View file

@ -26,37 +26,20 @@ def blocked(domain: str):
blocks = c.fetchall()
conn.close()
result = {
"reject": [],
"media_removal": [],
"federated_timeline_removal": [],
"media_nsfw": [],
"quarantined_instances": [],
"report_removal": [],
"followers_only": [],
"accept": [],
"avatar_removal": [],
"banner_removal": [],
"reject_deletes": [],
}
reasons = {
"reject": {},
"media_removal": {},
"federated_timeline_removal": {},
"media_nsfw": {},
"quarantined_instances": {},
"report_removal": {},
"followers_only": {},
"accept": {},
"avatar_removal": {},
"banner_removal": {},
"reject_deletes": {},
}
result = {}
reasons = {}
for domain, block_level, reason in blocks:
result[block_level].append(domain)
reasons[block_level][domain] = reason
if block_level in result:
result[block_level].append(domain)
else:
result[block_level] = [domain]
if reason != "":
if block_level in reasons:
reasons[block_level][domain] = reason
else:
reasons[block_level] = {domain: reason}
return result | {"reasons": reasons}
return {"blocks": result, "reasons": reasons}