Skip to content

Commit

Permalink
Merge pull request #14527 from akx/avoid-isfiles
Browse files Browse the repository at this point in the history
Avoid unnecessary `isfile`/`exists` calls
  • Loading branch information
AUTOMATIC1111 committed Jan 4, 2024
2 parents 149c9d2 + df62ffb commit 397251b
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 32 deletions.
17 changes: 8 additions & 9 deletions modules/cache.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,16 +62,15 @@ def cache(subsection):
if cache_data is None:
with cache_lock:
if cache_data is None:
if not os.path.isfile(cache_filename):
try:
with open(cache_filename, "r", encoding="utf8") as file:
cache_data = json.load(file)
except FileNotFoundError:
cache_data = {}
except Exception:
os.replace(cache_filename, os.path.join(script_path, "tmp", "cache.json"))
print('[ERROR] issue occurred while trying to read cache.json, move current cache to tmp/cache.json and create new cache')
cache_data = {}
else:
try:
with open(cache_filename, "r", encoding="utf8") as file:
cache_data = json.load(file)
except Exception:
os.replace(cache_filename, os.path.join(script_path, "tmp", "cache.json"))
print('[ERROR] issue occurred while trying to read cache.json, move current cache to tmp/cache.json and create new cache')
cache_data = {}

s = cache_data.get(subsection, {})
cache_data[subsection] = s
Expand Down
11 changes: 6 additions & 5 deletions modules/extensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,12 @@ def __init__(self, path, canonical_name):
self.config = configparser.ConfigParser()

filepath = os.path.join(path, self.filename)
if os.path.isfile(filepath):
try:
self.config.read(filepath)
except Exception:
errors.report(f"Error reading {self.filename} for extension {canonical_name}.", exc_info=True)
# `self.config.read()` will quietly swallow OSErrors (which FileNotFoundError is),
# so no need to check whether the file exists beforehand.
try:
self.config.read(filepath)
except Exception:
errors.report(f"Error reading {self.filename} for extension {canonical_name}.", exc_info=True)

self.canonical_name = self.config.get("Extension", "Name", fallback=canonical_name)
self.canonical_name = canonical_name.lower().strip()
Expand Down
4 changes: 3 additions & 1 deletion modules/infotext_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -453,9 +453,11 @@ def connect_paste(button, paste_fields, input_comp, override_settings_component,
def paste_func(prompt):
if not prompt and not shared.cmd_opts.hide_ui_dir_config:
filename = os.path.join(data_path, "params.txt")
if os.path.exists(filename):
try:
with open(filename, "r", encoding="utf8") as file:
prompt = file.read()
except OSError:
pass

params = parse_generation_parameters(prompt)
script_callbacks.infotext_pasted_callback(prompt, params)
Expand Down
7 changes: 4 additions & 3 deletions modules/launch_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -245,9 +245,10 @@ def list_extensions(settings_file):
settings = {}

try:
if os.path.isfile(settings_file):
with open(settings_file, "r", encoding="utf8") as file:
settings = json.load(file)
with open(settings_file, "r", encoding="utf8") as file:
settings = json.load(file)
except FileNotFoundError:
pass
except Exception:
errors.report("Could not load settings", exc_info=True)

Expand Down
7 changes: 4 additions & 3 deletions modules/postprocessing.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,12 @@ def get_images(extras_mode, image, image_folder, input_dir):

if pp.caption:
caption_filename = os.path.splitext(fullfn)[0] + ".txt"
if os.path.isfile(caption_filename):
existing_caption = ""
try:
with open(caption_filename, encoding="utf8") as file:
existing_caption = file.read().strip()
else:
existing_caption = ""
except FileNotFoundError:
pass

action = shared.opts.postprocessing_existing_caption_action
if action == 'Prepend' and existing_caption:
Expand Down
4 changes: 3 additions & 1 deletion modules/shared_init.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,10 @@ def initialize():
shared.options_templates = shared_options.options_templates
shared.opts = options.Options(shared_options.options_templates, shared_options.restricted_opts)
shared.restricted_opts = shared_options.restricted_opts
if os.path.exists(shared.config_filename):
try:
shared.opts.load(shared.config_filename)
except FileNotFoundError:
pass

from modules import devices
devices.device, devices.device_interrogate, devices.device_gfpgan, devices.device_esrgan, devices.device_codeformer = \
Expand Down
8 changes: 3 additions & 5 deletions modules/ui_gradio_extensions.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,11 @@ def stylesheet(fn):
return f'<link rel="stylesheet" property="stylesheet" href="{webpath(fn)}">'

for cssfile in scripts.list_files_with_name("style.css"):
if not os.path.isfile(cssfile):
continue

head += stylesheet(cssfile)

if os.path.exists(os.path.join(data_path, "user.css")):
head += stylesheet(os.path.join(data_path, "user.css"))
user_css = os.path.join(data_path, "user.css")
if os.path.exists(user_css):
head += stylesheet(user_css)

return head

Expand Down
5 changes: 3 additions & 2 deletions modules/ui_loadsave.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,9 @@ def __init__(self, filename):
self.ui_defaults_review = None

try:
if os.path.exists(self.filename):
self.ui_settings = self.read_from_file()
self.ui_settings = self.read_from_file()
except FileNotFoundError:
pass
except Exception as e:
self.error_loading = True
errors.display(e, "loading settings")
Expand Down
6 changes: 3 additions & 3 deletions modules/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ def html_path(filename):
def html(filename):
path = html_path(filename)

if os.path.exists(path):
try:
with open(path, encoding="utf8") as file:
return file.read()

return ""
except OSError:
return ""


def walk_files(path, allowed_extensions=None):
Expand Down

0 comments on commit 397251b

Please sign in to comment.