From cc783ee30e458cb021caa53ac71a7c0cadcc40d5 Mon Sep 17 00:00:00 2001 From: Flo Greistorfer Date: Sun, 20 Oct 2024 11:43:35 +0200 Subject: [PATCH] idk if this cancels preload... --- .version | 2 +- builder.py | 3 +-- modules/argumentparser.py | 3 --- modules/generate_html.py | 5 ++++- templates/index.html.j2 | 20 +++++++++++++++++--- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/.version b/.version index 9183195..58073ef 100644 --- a/.version +++ b/.version @@ -1 +1 @@ -2.4.0 \ No newline at end of file +2.4.1 \ No newline at end of file diff --git a/builder.py b/builder.py index 9457215..19da464 100755 --- a/builder.py +++ b/builder.py @@ -187,7 +187,6 @@ def main() -> None: """ Main function to process images and generate a static image hosting website. """ - logger.info("starting builder", extra={"version": VERSION}) thumbnails: List[Tuple[str, str, str, bool]] = [] args = parse_arguments(VERSION) @@ -196,11 +195,11 @@ def main() -> None: lock_file = os.path.join(args.root_directory, ".lock") if os.path.exists(lock_file): print("Another instance of this program is running.") - logger.error("another instance of this program is running") exit() try: Path(lock_file).touch() + logger.info("starting builder", extra={"version": VERSION}) if args.reread_metadata: logger.warning("reread metadata flag is set to true, all image metadata will be reread") if args.regenerate_thumbnails: diff --git a/modules/argumentparser.py b/modules/argumentparser.py index cf225a8..79e3883 100644 --- a/modules/argumentparser.py +++ b/modules/argumentparser.py @@ -11,8 +11,6 @@ except ModuleNotFoundError: RICH = False -from modules.logger import logger - if __package__ is None: PACKAGE = "" else: @@ -146,5 +144,4 @@ def parse_arguments(version: str) -> Args: use_fancy_folders=parsed_args.use_fancy_folders, web_root_url=parsed_args.web_root_url, ) - logger.debug("parsed arguments", extra={"args": _args.to_dict()}) return _args diff --git a/modules/generate_html.py b/modules/generate_html.py index 7f89f0e..5062734 100644 --- a/modules/generate_html.py +++ b/modules/generate_html.py @@ -117,7 +117,10 @@ def get_image_info(item: str, folder: str) -> Dict[str, Any]: if tag in ["DateTime", "DateTimeOriginal", "DateTimeDigitized"]: epr = r'\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2}' if re.match(epr, content): - content = datetime.strptime(content, "%Y:%m:%d %H:%M:%S").strftime("%Y-%m-%d %H:%M:%S") + try: + content = datetime.strptime(content, "%Y:%m:%d %H:%M:%S").strftime("%Y-%m-%d %H:%M:%S") + except ValueError: + content = None else: content = None exifdata[tag] = content diff --git a/templates/index.html.j2 b/templates/index.html.j2 index 5df0090..7f38853 100644 --- a/templates/index.html.j2 +++ b/templates/index.html.j2 @@ -70,7 +70,7 @@ {%- for image in images %}
- {{ image.name }} + {{ image.name }} {%- set ns.count = ns.count + 1 %}
{{ image.name }} {%- if image.tiff %} @@ -195,12 +195,26 @@ } function prefetch(img) { - var link = document.createElement("link"); + let link = document.createElement("link"); link.rel = "preload"; link.as = "image"; - link.href = img; + link.href = items[img].src; document.body.appendChild(link); } + + function cancel(img) { + let links = document.body.getElementsByTagName("link"); + for (let link in links) { + let ling = links[link] + try { + if (ling.getAttribute("rel") == "preload" && ling.getAttribute("href") == items[img].src) { + document.body.removeChild(ling); + } + } + catch(err) { + } + } + } {%- endif %}