From 58205e32b2e0a848a2cd952978df769134da430b Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Jul 2026 18:44:52 +0500 Subject: [PATCH] perf(misc): append processed post ID to file --- modules/misc.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/misc.py b/modules/misc.py index 724cda7..753af9f 100644 --- a/modules/misc.py +++ b/modules/misc.py @@ -15,15 +15,22 @@ class ProcessedPostsManager: return set() def _save(self): + """Full rewrite — use for batch operations only.""" with open(self.file_path, "w", encoding="utf-8") as processed: - processed.write("\n".join(self.processed_posts)) + processed.write("".join(f"{pid}\n" for pid in self.processed_posts)) def is_processed(self, post_id: int) -> bool: return str(post_id) in self.processed_posts def mark_processed(self, post_id: int): - self.processed_posts.add(str(post_id)) - self._save() + """Mark a single post processed and append to file (no full rewrite).""" + str_id = str(post_id) + if str_id in self.processed_posts: + return + + self.processed_posts.add(str_id) + with open(self.file_path, "a", encoding="utf-8") as f: + f.write(str_id + "\n") def add_existing_posts(self, post_ids: List[int]): for post_id in post_ids: