add: prev and next button
This commit is contained in:
parent
b5b306eb09
commit
a106770769
13
src/main.py
13
src/main.py
@ -19,18 +19,25 @@ def scan_pages(folders: list[Path]) -> list[Page]:
|
||||
for folder in folders:
|
||||
files: list[Path] = folder.get_files()
|
||||
|
||||
prev: Page = Page(folder.get_absolute_path(), folder.get_name(), None, None, None)
|
||||
page: Page = Page(folder.get_absolute_path(), folder.get_name(), None, prev, None)
|
||||
|
||||
raw: Path = Path(folder.get_absolute_path(), folder.get_name() + ".NEF")
|
||||
images: list[Path] = [Picture(file, page=prev, raw=raw) for file in files if file.get_name().endswith(".png")]
|
||||
|
||||
prev.images = images
|
||||
page.images = images
|
||||
|
||||
if len(images) == 0:
|
||||
bar.next()
|
||||
continue
|
||||
pages.append(prev)
|
||||
|
||||
pages.append(page)
|
||||
if prev is not None:
|
||||
prev.next = page
|
||||
prev = page
|
||||
|
||||
bar.next()
|
||||
pages[-1].next = pages[0]
|
||||
pages[0].prev = pages[-1]
|
||||
return pages
|
||||
|
||||
def create_pages(pages: list[Page]) -> None:
|
||||
|
18
src/page.py
18
src/page.py
@ -24,19 +24,31 @@ class Page():
|
||||
self._exif: Path = Path(self.path, "exif.txt")
|
||||
self._readme: Path = Path(self.path, "readme.md")
|
||||
self._raw: Path = Path(self.path, name + ".NEF")
|
||||
self._html: Path = Path(self.path, "page.html")
|
||||
self.html: Path = Path(self.path, "page.html")
|
||||
self.prev: Page = prev
|
||||
self.next: Page = next
|
||||
|
||||
def _render_raw(self):
|
||||
if not self._raw.exist():
|
||||
return None
|
||||
return self._raw.get_name()
|
||||
|
||||
def _render_prev(self):
|
||||
if self.prev is None:
|
||||
return None
|
||||
return f"../{self.prev.name}/{self.prev.html.get_name()}"
|
||||
|
||||
def _render_next(self):
|
||||
if self.next is None:
|
||||
return None
|
||||
return f"../{self.next.name}/{self.next.html.get_name()}"
|
||||
|
||||
def _to_html(self) -> str|None:
|
||||
html_rendered = page_template.render(exif=self._render_exif(), raw=self._render_raw(), images=self._render_images(), readme=self._render_readme())
|
||||
html_rendered = page_template.render(exif=self._render_exif(), raw=self._render_raw(), images=self._render_images(), readme=self._render_readme(), prev=self._render_prev(), next=self._render_next())
|
||||
return html_rendered
|
||||
|
||||
def create(self) -> Path:
|
||||
with open(self._html.get_absolute_path(), "w") as f:
|
||||
with open(self.html.get_absolute_path(), "w") as f:
|
||||
f.write(self._to_html())
|
||||
self.created = True
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user