Skip to content
Snippets Groups Projects
Verified Commit 4270bf98 authored by Jake's avatar Jake
Browse files

added prio to pages for sorting tags

parent 3e78fded
No related branches found
No related tags found
No related merge requests found
Pipeline #318864 passed
......@@ -218,7 +218,14 @@ class Page:
return res
def __lt__(self, other):
def get_prio(self):
if 'prio' in self.metadata:
return self.metadata['prio']
else:
return 0
prio = property(get_prio, None, None)
def __lt__(self, other): # for sorting by date modified (default)
if not self.initialized:
raise Exception("Page not initialized.")
return self.date_modified < other.date_modified
......@@ -245,10 +252,11 @@ class Tag:
self.name = name
self.lang = lang
self._config = None
self.pages = set()
self.pages_tuple = []
self.is_category = False
self._link = None
self._factories = factories
self._pages_cache = []
def get_config(self):
......@@ -291,11 +299,23 @@ class Tag:
return
if page.lang != self.lang:
raise Exception("Page has different lang than Tag.", page.lang, tag.lang)
self.pages.add(page)
if page not in self.pages:
self.pages_tuple.append((page.prio, page))
self.pages_tuple.sort(key=lambda x: x[0])
self.pages_tuple.reverse()
if is_category:
self.is_category = is_category
def get_pages(self):
if len(self._pages_cache) != len(self.pages_tuple):
res = []
for prio, page in self.pages_tuple:
res.append(page)
self._pages_cache = res
return self._pages_cache
pages = property(get_pages, None, None)
class Date:
def __init__(self, dt, config):
if isinstance(dt, str):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment