From: Kyle Bowman Date: Mon, 20 Jan 2025 21:24:14 +0000 (-0500) Subject: move fetch implementation into flitem X-Git-Url: https://git.rocketbowman.com/?a=commitdiff_plain;h=44963244faf5601b0470f872da6bcdf930b8b251;p=nom.git move fetch implementation into flitem --- diff --git a/src/nom/feed.py b/src/nom/feed.py index 11a7f7c..923f9de 100644 --- a/src/nom/feed.py +++ b/src/nom/feed.py @@ -39,8 +39,17 @@ class FeedListItem(NomListItem): def to_feed(self): return Feed(self.url) - def fetch_feed(self): - pass + def fetch_feed(self, save_dir: Path): + if not os.path.exists(save_dir): + os.makedirs(save_dir) + + filename = url2filename(self.url) + path = save_dir / filename + with open(path, 'w') as f: + # TODO: URL Error Handling + r = requests.get(self.url) + f.write(r.text) + print(f"{path} updated") class FeedList(NomList): @@ -56,14 +65,5 @@ class FeedList(NomList): return cls(file.name, urls) def fetch_feeds(self, save_dir: Path): - if not os.path.exists(save_dir): - os.makedirs(save_dir) - for flitem in self.items: - filename = url2filename(flitem.url) - path = save_dir / filename - with open(path, 'w') as f: - # TODO: URL Error Handling - r = requests.get(flitem.url) - f.write(r.text) - print(f"{path} updated") \ No newline at end of file + flitem.fetch_feed(save_dir) \ No newline at end of file