From 57ce94fcdef721f7e11548e5006adc6873eeeb39 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Sat, 14 Oct 2023 08:51:11 -0400 Subject: [PATCH] datetime fixes --- modules/images.py | 2 +- modules/ui_extensions.py | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/modules/images.py b/modules/images.py index 6eb1a5c04..2d4d2c840 100644 --- a/modules/images.py +++ b/modules/images.py @@ -472,7 +472,7 @@ def atomically_save_image(): pnginfo_data = PngImagePlugin.PngInfo() for k, v in params.pnginfo.items(): pnginfo_data.add_text(k, str(v)) - image.save(fn, format=image_format, compress_level=8, pnginfo=pnginfo_data if shared.opts.image_metadata else None) + image.save(fn, format=image_format, compress_level=6, pnginfo=pnginfo_data if shared.opts.image_metadata else None) elif image_format == 'JPEG': if image.mode == 'RGBA': shared.log.warning('Saving RGBA image as JPEG: Alpha channel will be lost') diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index 563adb6fa..e9e54259e 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -66,13 +66,13 @@ def check_access(): assert not shared.cmd_opts.disable_extension_access, "extension access disabled because of command line flags" -def apply_and_restart(disable_list, update_list, disable_all): +def apply_changes(disable_list, update_list, disable_all): check_access() shared.log.debug(f'Extensions apply: disable={disable_list} update={update_list}') disabled = json.loads(disable_list) - assert type(disabled) == list, f"wrong disable_list data for apply_and_restart: {disable_list}" + assert type(disabled) == list, f"wrong disable_list data for apply_changes: {disable_list}" update = json.loads(update_list) - assert type(update) == list, f"wrong update_list data for apply_and_restart: {update_list}" + assert type(update) == list, f"wrong update_list data for apply_changes: {update_list}" update = set(update) for ext in extensions.extensions: if ext.name not in update: @@ -84,7 +84,7 @@ def apply_and_restart(disable_list, update_list, disable_all): shared.opts.disabled_extensions = disabled shared.opts.disable_all_extensions = disable_all shared.opts.save(shared.config_filename) - # shared.restart_server(restart=True) + shared.restart_server(restart=True) def check_updates(_id_task, disable_list, search_text, sort_column): @@ -306,13 +306,19 @@ def create_html(search_text, sort_column): def dt(x: str): val = ext.get(x, None) - return datetime.fromisoformat(val[:-1]).strftime('%a %b%d %Y %H:%M') if val is not None else "N/A" + try: + return datetime.fromisoformat(val[:-1]).strftime('%a %b%d %Y %H:%M') if val is not None else "N/A" + except: + return datetime.now().strftime('%a %b%d %Y %H:%M') stats = { 'processed': 0, 'enabled': 0, 'hidden': 0, 'installed': 0 } for ext in sorted(extensions_list, key=sort_function, reverse=sort_reverse): installed = get_installed(ext) author = f"Author: {ext['url'].split('/')[3]}" if 'github' in ext['url'] else '' - updated = datetime.timestamp(datetime.fromisoformat(ext.get('updated', '2000-01-01T00:00:00.000Z').rstrip('Z'))) + try: + updated = datetime.timestamp(datetime.fromisoformat(ext.get('updated', '2000-01-01T00:00:00.000Z').rstrip('Z'))) + except: + updated = datetime.timestamp(datetime.now()) update_available = (installed is not None) and (ext['remote'] is not None) and (ext['commit_date'] + 60 * 60 < updated) ext['sort_user'] = f"{'0' if ext['is_builtin'] else '1'}{'1' if ext['installed'] else '0'}{ext.get('name', '')}" ext['sort_enabled'] = f"{'0' if ext['enabled'] else '1'}{'1' if ext['is_builtin'] else '0'}{'1' if ext['installed'] else '0'}{ext.get('updated', '2000-01-01T00:00')}" @@ -425,7 +431,7 @@ def create_ui(): outputs=[extensions_table, info], ) apply.click( - fn=apply_and_restart, + fn=apply_changes, _js="extensions_apply", inputs=[extensions_disabled_list, extensions_update_list, extensions_disable_all], outputs=[],