try with AbortController

This commit is contained in:
2024-10-25 11:34:23 +02:00
parent 156a886ac1
commit bc4fefa3f1
6 changed files with 108 additions and 98 deletions

View File

@@ -64,6 +64,7 @@ class Args:
non_interactive_mode: bool
regenerate_thumbnails: bool
reread_metadata: bool
reverse_sort: bool
root_directory: str
site_title: str
theme_path: str
@@ -81,6 +82,7 @@ class Args:
result["license_type"] = self.license_type
result["non_interactive_mode"] = self.non_interactive_mode
result["regenerate_thumbnails"] = self.regenerate_thumbnails
result["reverse_sort"] = self.reverse_sort
result["reread_metadata"] = self.reread_metadata
result["root_directory"] = self.root_directory
result["site_title"] = self.site_title
@@ -123,6 +125,7 @@ def parse_arguments(version: str) -> Args:
parser.add_argument("--ignore-other-files", help="Ignore files that do not match the specified extensions.", action="store_true", default=False, dest="ignore_other_files")
parser.add_argument("--regenerate-thumbnails", help="Regenerate thumbnails even if they already exist.", action="store_true", default=False, dest="regenerate_thumbnails")
parser.add_argument("--reread-metadata", help="Reread image metadata", action="store_true", default=False, dest="reread_metadata")
parser.add_argument("--reverse-sort", help="Sort images in reverse order.", action="store_true", default=False, dest="reverse_sort")
parser.add_argument("--theme-path", help="Path to the CSS theme file.", default=DEFAULT_THEME_PATH, type=str, dest="theme_path", metavar="PATH")
parser.add_argument("--use-fancy-folders", help="Enable fancy folder view instead of the default Apache directory listing.", action="store_true", default=False, dest="use_fancy_folders")
parser.add_argument("--version", action="version", version=f"%(prog)s {version}")
@@ -138,6 +141,7 @@ def parse_arguments(version: str) -> Args:
non_interactive_mode=parsed_args.non_interactive_mode,
regenerate_thumbnails=parsed_args.regenerate_thumbnails,
reread_metadata=parsed_args.reread_metadata,
reverse_sort=parsed_args.reverse_sort,
root_directory=parsed_args.root_directory,
site_title=parsed_args.site_title,
theme_path=parsed_args.theme_path,

View File

@@ -115,7 +115,7 @@ def get_image_info(item: str, folder: str) -> Dict[str, Any]:
if newtuple:
content = newtuple
if tag in ["DateTime", "DateTimeOriginal", "DateTimeDigitized"]:
epr = r'\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2}'
epr = r"\d{4}:\d{2}:\d{2} \d{2}:\d{2}:\d{2}"
if re.match(epr, content):
try:
content = datetime.strptime(content, "%Y:%m:%d %H:%M:%S").strftime("%Y-%m-%d %H:%M:%S")
@@ -335,6 +335,8 @@ def create_html_file(folder: str, title: str, foldername: str, images: List[Dict
folder_info = info.get(urllib.parse.quote(folder), "").split("\n")
_info = [i for i in folder_info if len(i) > 1] if folder_info else None
if _args.reverse_sort:
images.sort(key=lambda i: i["name"], reverse=True)
html = env.get_template("index.html.j2")
content = html.render(