Opened 3 years ago
Last modified 3 years ago
#32850 closed Cleanup/optimization
Sitemap.items() gets called several times: Fix or document? — at Version 6
Reported by: | Thomas Güttler | Owned by: | nobody |
---|---|---|---|
Component: | Documentation | Version: | 3.2 |
Severity: | Normal | Keywords: | |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
The Sitemap.items() method might get called several times (if you generate several pages in batch)
This is confusing and might waste computation resources.
def _urls(self, page, protocol, domain): urls = [] latest_lastmod = None all_items_lastmod = True # track if all items have a lastmod paginator_page = self.paginator.page(page) for item in paginator_page.object_list: loc = f'{protocol}://{domain}{self._location(item)}' ....
@property def paginator(self): return paginator.Paginator(self._items(), self.limit)
I see two options now:
Option1: Document this behaviour.
Option2: make paginator a cached_property.
Change History (6)
comment:1 by , 3 years ago
Description: | modified (diff) |
---|
comment:2 by , 3 years ago
Description: | modified (diff) |
---|
comment:3 by , 3 years ago
Description: | modified (diff) |
---|
comment:4 by , 3 years ago
Description: | modified (diff) |
---|
comment:5 by , 3 years ago
Description: | modified (diff) |
---|
comment:6 by , 3 years ago
Description: | modified (diff) |
---|
Note:
See TracTickets
for help on using tickets.