feat(misc): add ProcessedPostsManager utility

This commit is contained in:
2026-07-29 16:38:56 +05:00
parent 6d58da99f6
commit dcd93038fc
+32
View File
@@ -0,0 +1,32 @@
from typing import Set, List
class ProcessedPostsManager:
def __init__(self, file_path: str = "processed.txt"):
self.file_path = file_path
self.processed_posts: Set[int] = self._load()
def _load(self) -> Set[int]:
try:
with open(self.file_path, "r", encoding="utf-8") as processed:
return set(processed.readlines())
except:
return set()
def _save(self):
with open(self.file_path, "w", encoding="utf-8") as processed:
processed.writelines(lines=self.processed_posts)
def is_processed(self, post_id: int) -> bool:
return post_id in self.processed_posts
def mark_processed(self, post_id: int):
self.processed_posts.add(post_id)
self._save()
def add_existing_posts(self, post_ids: List[int]):
for post_id in post_ids:
self.processed_posts.add(post_id)
self._save()