From 5409bfdb2610bc50804b6bedf36d152339aaadc2 Mon Sep 17 00:00:00 2001 From: Manuel Schmid <9307310+mashb1t@users.noreply.github.com> Date: Sun, 10 Mar 2024 21:08:55 +0100 Subject: [PATCH] Revert "feat: add config for temp path and temp path cleanup on launch (#1992)" (#2502) This reverts commit 85e8aa8ce20dad2f87ebc4eafbc97707174ba64b. --- args_manager.py | 3 +++ launch.py | 21 +++++++-------------- modules/config.py | 36 +----------------------------------- modules/launch_util.py | 20 +++----------------- modules/private_logger.py | 2 +- 5 files changed, 15 insertions(+), 67 deletions(-) diff --git a/args_manager.py b/args_manager.py index 8c3e1918..c7c1b7ab 100644 --- a/args_manager.py +++ b/args_manager.py @@ -49,4 +49,7 @@ if args_parser.args.disable_analytics: if args_parser.args.disable_in_browser: args_parser.args.in_browser = False +if args_parser.args.temp_path is None: + args_parser.args.temp_path = os.path.join(gettempdir(), 'Fooocus') + args = args_parser.args diff --git a/launch.py b/launch.py index b3b06d6e..4269f1fc 100644 --- a/launch.py +++ b/launch.py @@ -1,6 +1,6 @@ import os -import ssl import sys +import ssl print('[System ARGV] ' + str(sys.argv)) @@ -15,13 +15,15 @@ if "GRADIO_SERVER_PORT" not in os.environ: ssl._create_default_https_context = ssl._create_unverified_context + import platform import fooocus_version from build_launcher import build_launcher -from modules.launch_util import is_installed, run, python, run_pip, requirements_met, delete_folder_content +from modules.launch_util import is_installed, run, python, run_pip, requirements_met from modules.model_loader import load_file_from_url + REINSTALL_ALL = False TRY_INSTALL_XFORMERS = False @@ -66,7 +68,6 @@ vae_approx_filenames = [ 'https://huggingface.co/lllyasviel/misc/resolve/main/xl-to-v1_interposer-v3.1.safetensors') ] - def ini_args(): from args_manager import args return args @@ -76,23 +77,14 @@ prepare_environment() build_launcher() args = ini_args() + if args.gpu_device_id is not None: os.environ['CUDA_VISIBLE_DEVICES'] = str(args.gpu_device_id) print("Set device to:", args.gpu_device_id) + from modules import config -os.environ['GRADIO_TEMP_DIR'] = config.temp_path - -if config.temp_path_cleanup_on_launch: - print(f'[Cleanup] Attempting to delete content of temp dir {config.temp_path}') - result = delete_folder_content(config.temp_path, '[Cleanup] ') - if result: - print("[Cleanup] Cleanup successful") - else: - print(f"[Cleanup] Failed to delete content of temp dir.") - - def download_models(): for file_name, url in vae_approx_filenames: load_file_from_url(url=url, model_dir=config.path_vae_approx, file_name=file_name) @@ -131,4 +123,5 @@ def download_models(): download_models() + from webui import * diff --git a/modules/config.py b/modules/config.py index 543bba5e..a68bd218 100644 --- a/modules/config.py +++ b/modules/config.py @@ -3,7 +3,6 @@ import json import math import numbers import args_manager -import tempfile import modules.flags import modules.sdxl_styles @@ -11,7 +10,6 @@ from modules.model_loader import load_file_from_url from modules.util import get_files_from_folder, makedirs_with_log from modules.flags import Performance, MetadataScheme - def get_config_path(key, default_value): env = os.getenv(key) if env is not None and isinstance(env, str): @@ -20,7 +18,6 @@ def get_config_path(key, default_value): else: return os.path.abspath(default_value) - config_path = get_config_path('config_path', "./config.txt") config_example_path = get_config_path('config_example_path', "config_modification_tutorial.txt") config_dict = {} @@ -120,7 +117,7 @@ def get_path_output() -> str: global config_dict path_output = get_dir_or_set_default('path_outputs', '../outputs/', make_directory=True) if args_manager.args.output_path: - print(f'Overriding config value path_outputs with {args_manager.args.output_path}') + print(f'[CONFIG] Overriding config value path_outputs with {args_manager.args.output_path}') config_dict['path_outputs'] = path_output = args_manager.args.output_path return path_output @@ -181,7 +178,6 @@ path_clip_vision = get_dir_or_set_default('path_clip_vision', '../models/clip_vi path_fooocus_expansion = get_dir_or_set_default('path_fooocus_expansion', '../models/prompt_expansion/fooocus_expansion') path_outputs = get_path_output() - def get_config_item_or_set_default(key, default_value, validator, disable_empty_as_none=False): global config_dict, visited_keys @@ -210,36 +206,6 @@ def get_config_item_or_set_default(key, default_value, validator, disable_empty_ return default_value -def init_temp_path(path: str | None, default_path: str) -> str: - if args_manager.args.temp_path: - path = args_manager.args.temp_path - - if path != '' and path != default_path: - try: - if not os.path.isabs(path): - path = os.path.abspath(path) - os.makedirs(path, exist_ok=True) - print(f'Using temp path {path}') - return path - except Exception as e: - print(f'Could not create temp path {path}. Reason: {e}') - print(f'Using default temp path {default_path} instead.') - - os.makedirs(default_path, exist_ok=True) - return default_path - - -default_temp_path = os.path.join(tempfile.gettempdir(), 'fooocus') -temp_path = init_temp_path(get_config_item_or_set_default( - key='temp_path', - default_value=default_temp_path, - validator=lambda x: isinstance(x, str), -), default_temp_path) -temp_path_cleanup_on_launch = get_config_item_or_set_default( - key='temp_path_cleanup_on_launch', - default_value=True, - validator=lambda x: isinstance(x, bool) -) default_base_model_name = get_config_item_or_set_default( key='default_model', default_value='model.safetensors', diff --git a/modules/launch_util.py b/modules/launch_util.py index 370dc048..b483d515 100644 --- a/modules/launch_util.py +++ b/modules/launch_util.py @@ -1,7 +1,6 @@ import os import importlib import importlib.util -import shutil import subprocess import sys import re @@ -10,6 +9,9 @@ import importlib.metadata import packaging.version from packaging.requirements import Requirement + + + logging.getLogger("torch.distributed.nn").setLevel(logging.ERROR) # sshh... logging.getLogger("xformers").addFilter(lambda record: 'A matching Triton is not available' not in record.getMessage()) @@ -99,19 +101,3 @@ def requirements_met(requirements_file): return True - -def delete_folder_content(folder, prefix=None): - result = True - - for filename in os.listdir(folder): - file_path = os.path.join(folder, filename) - try: - if os.path.isfile(file_path) or os.path.islink(file_path): - os.unlink(file_path) - elif os.path.isdir(file_path): - shutil.rmtree(file_path) - except Exception as e: - print(f'{prefix}Failed to delete {file_path}. Reason: {e}') - result = False - - return result \ No newline at end of file diff --git a/modules/private_logger.py b/modules/private_logger.py index 73fdda54..01e570a7 100644 --- a/modules/private_logger.py +++ b/modules/private_logger.py @@ -21,7 +21,7 @@ def get_current_html_path(output_format=None): def log(img, metadata, metadata_parser: MetadataParser | None = None, output_format=None) -> str: - path_outputs = modules.config.temp_path if args_manager.args.disable_image_log else modules.config.path_outputs + path_outputs = args_manager.args.temp_path if args_manager.args.disable_image_log else modules.config.path_outputs output_format = output_format if output_format else modules.config.default_output_format date_string, local_temp_filename, only_name = generate_temp_filename(folder=path_outputs, extension=output_format) os.makedirs(os.path.dirname(local_temp_filename), exist_ok=True)