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:
|
for folder in folders:
|
||||||
files: list[Path] = folder.get_files()
|
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")
|
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")]
|
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:
|
if len(images) == 0:
|
||||||
bar.next()
|
bar.next()
|
||||||
continue
|
continue
|
||||||
pages.append(prev)
|
|
||||||
|
pages.append(page)
|
||||||
|
if prev is not None:
|
||||||
|
prev.next = page
|
||||||
|
prev = page
|
||||||
|
|
||||||
bar.next()
|
bar.next()
|
||||||
|
pages[-1].next = pages[0]
|
||||||
|
pages[0].prev = pages[-1]
|
||||||
return pages
|
return pages
|
||||||
|
|
||||||
def create_pages(pages: list[Page]) -> None:
|
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._exif: Path = Path(self.path, "exif.txt")
|
||||||
self._readme: Path = Path(self.path, "readme.md")
|
self._readme: Path = Path(self.path, "readme.md")
|
||||||
self._raw: Path = Path(self.path, name + ".NEF")
|
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):
|
def _render_raw(self):
|
||||||
if not self._raw.exist():
|
if not self._raw.exist():
|
||||||
return None
|
return None
|
||||||
return self._raw.get_name()
|
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:
|
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
|
return html_rendered
|
||||||
|
|
||||||
def create(self) -> Path:
|
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())
|
f.write(self._to_html())
|
||||||
self.created = True
|
self.created = True
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user