Fetch RSS feed items. Args: since: Only fetch items published after this time Returns: List[ContentItem]: Fetched content items
(self, since: datetime)
| 30 | super().__init__({"sources": sources}, http_client) |
| 31 | |
| 32 | async def fetch(self, since: datetime) -> List[ContentItem]: |
| 33 | """Fetch RSS feed items. |
| 34 | |
| 35 | Args: |
| 36 | since: Only fetch items published after this time |
| 37 | |
| 38 | Returns: |
| 39 | List[ContentItem]: Fetched content items |
| 40 | """ |
| 41 | items = [] |
| 42 | sources = self.config["sources"] |
| 43 | |
| 44 | for source in sources: |
| 45 | if not source.enabled: |
| 46 | continue |
| 47 | |
| 48 | feed_items = await self._fetch_feed(source, since) |
| 49 | items.extend(feed_items) |
| 50 | |
| 51 | return items |
| 52 | |
| 53 | async def _fetch_feed( |
| 54 | self, source: RSSSourceConfig, since: datetime |