From 24e7c7f67c25e0c80b3c52f5ab3770c68edb6f54 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Sat, 26 Nov 2022 15:39:36 +0000 Subject: [PATCH] Read reverse sequence flags from file --- daemon.py | 3 ++- utils.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/daemon.py b/daemon.py index 437170ad1..f689c4bc1 100644 --- a/daemon.py +++ b/daemon.py @@ -268,6 +268,7 @@ from languages import set_actor_languages from languages import get_understood_languages from like import update_likes_collection from reaction import update_reaction_collection +from utils import load_reverse_timeline from utils import load_min_images_for_accounts from utils import set_minimize_all_images from utils import get_json_content_from_accept @@ -21936,7 +21937,7 @@ def run_daemon(max_hashtags: int, # caches css files httpd.css_cache = {} - httpd.reverse_sequence = [] + httpd.reverse_sequence = load_reverse_timeline(base_dir) httpd.clacks = get_config_param(base_dir, 'clacks') if not httpd.clacks: diff --git a/utils.py b/utils.py index 6d75dbe1a..b69cff578 100644 --- a/utils.py +++ b/utils.py @@ -4020,3 +4020,23 @@ def set_minimize_all_images(base_dir: str, os.remove(filename) except OSError: print('EX: unable to delete ' + filename) + + +def load_reverse_timeline(base_dir: str) -> []: + """Loads flags for each user indicating whether they prefer to + see reversed timelines + """ + reverse_sequence = [] + for _, dirs, _ in os.walk(base_dir + '/accounts'): + for acct in dirs: + if not is_account_dir(acct): + continue + nickname = acct.split('@')[0] + domain = acct.split('@')[1] + reverse_filename = \ + acct_dir(base_dir, nickname, domain) + '/.reverse_timeline' + if os.path.isfile(reverse_filename): + if nickname not in reverse_sequence: + reverse_sequence.append(nickname) + break + return reverse_sequence