From 45a1a196e7cc0bca7117653acf3556c1276d66db Mon Sep 17 00:00:00 2001 From: dankondr Date: Mon, 26 Jul 2021 18:31:57 +0300 Subject: [PATCH] Improve feed endpoint customizability --- starlette_feedgen/feed.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/starlette_feedgen/feed.py b/starlette_feedgen/feed.py index 68098cc..eb08fa8 100644 --- a/starlette_feedgen/feed.py +++ b/starlette_feedgen/feed.py @@ -125,13 +125,18 @@ async def get_feed(self, obj: Any, request: Request) -> SyndicationFeed: ) items = await run_async_or_thread(self.get_items) + await self._process_items(feed, items, request_is_secure) + return feed + + async def _process_items( + self, feed: SyndicationFeed, items: Iterable[Any], request_is_secure: bool + ) -> None: if isinstance(items, AsyncIterable): async for item in items: await self._populate_feed(feed, item, request_is_secure) else: for item in items: await self._populate_feed(feed, item, request_is_secure) - return feed async def _populate_feed( self, feed: SyndicationFeed, item: Any, request_is_secure: bool = True