From 96f7161ef0f83c8362ed9e04360cb78b3f632ba4 Mon Sep 17 00:00:00 2001 From: Dome Date: Sun, 19 Apr 2026 19:01:51 +0200 Subject: [PATCH] added log statistics for each run --- gts-federator.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gts-federator.py b/gts-federator.py index 511bb7d..0c600e3 100644 --- a/gts-federator.py +++ b/gts-federator.py @@ -68,16 +68,17 @@ class GTSFederator: if not os.path.exists(self.config["rss_urls_file"]): self.logger.error("RSS_URLS_FILE missing!") - return + return 0, 0 with open(self.config["rss_urls_file"], 'r', encoding='utf-8') as f: rss_urls = [l.split('#')[0].strip() for l in f if l.strip() and not l.strip().startswith('#')] total_new = 0 + num_feeds = len(rss_urls) start_time = time.time() for i, rss_url in enumerate(rss_urls, 1): - self.logger.info(f"[{i}/{len(rss_urls)}] šŸ“” {rss_url}") + self.logger.info(f"[{i}/{num_feeds}] šŸ“” {rss_url}") try: resp = requests.get(rss_url, timeout=15, headers={"User-Agent": self.config['user_agent']}) feed = feedparser.parse(resp.content) @@ -121,15 +122,19 @@ class GTSFederator: runtime = str(timedelta(seconds=int(time.time() - start_time))) print(f"\nāœ… Run Completed | Time: {runtime} | New Posts: {total_new} | Instances: {curr} (+{diff})") self.save_state(curr) + + return total_new, num_feeds def run_forever(self): wait_seconds = self.parse_interval(self.config["fetch_interval"]) self.logger.info(f"GTS-Federator Active. Interval: {self.config['fetch_interval']}") while True: - self.process_feeds() + posts, feeds = self.process_feeds() + + self.logger.info(f"šŸ’¤ Run completed. Pausing for {self.config['fetch_interval']}.") + self.logger.info(f"šŸ“Š Fetched {posts} Posts from {feeds} RSS-Feeds") next_run = datetime.now() + timedelta(seconds=wait_seconds) - self.logger.info(f"šŸ’¤ Run completed. Pausing for {self.config['fetch_interval']}.") self.logger.info(f"ā° Next scheduled run: {next_run.strftime('%H:%M:%S')}") time.sleep(wait_seconds)