From ecadbc16831cc6824d85aa707d70f9aff281cc34 Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Wed, 25 Oct 2023 11:10:21 -0400 Subject: [PATCH] lint updates --- .pylintrc | 1 + modules/scripts.py | 28 +++++++++++++++++++++++++++- modules/sd_hijack_optimizations.py | 2 +- modules/sd_samplers_timesteps.py | 1 + modules/ui_prompt_styles.py | 7 +++---- pyproject.toml | 6 +++++- 6 files changed, 38 insertions(+), 7 deletions(-) diff --git a/.pylintrc b/.pylintrc index 82fffad75..aa29d7ade 100644 --- a/.pylintrc +++ b/.pylintrc @@ -151,6 +151,7 @@ disable=bad-inline-option, missing-function-docstring, missing-module-docstring, no-else-return, + not-callable, pointless-string-statement, raw-checker-failed, simplifiable-if-expression, diff --git a/modules/scripts.py b/modules/scripts.py index f378744ee..323aca6a1 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -321,6 +321,7 @@ class ScriptRunner: self.paste_field_names = [] self.script_load_ctr = 0 self.is_img2img = False + self.inputs = [None] def initialize_scripts(self, is_img2img): from modules import scripts_auto_postprocessing @@ -355,6 +356,31 @@ class ScriptRunner: except Exception as e: log.error(f'Script initialize: {path} {e}') + def create_script_ui(self, script): + import modules.api.models as api_models + script.args_from = len(self.inputs) + script.args_to = len(self.inputs) + controls = wrap_call(script.ui, script.filename, "ui", script.is_img2img) + if controls is None: + return + script.name = wrap_call(script.title, script.filename, "title", default=script.filename).lower() + api_args = [] + for control in controls: + control.custom_script_source = os.path.basename(script.filename) + arg_info = api_models.ScriptArg(label=control.label or "") + for field in ("value", "minimum", "maximum", "step", "choices"): + v = getattr(control, field, None) + if v is not None: + setattr(arg_info, field, v) + api_args.append(arg_info) + script.api_info = api_models.ScriptInfo(name=script.name, is_img2img=script.is_img2img, is_alwayson=script.alwayson, args=api_args) + if script.infotext_fields is not None: + self.infotext_fields += script.infotext_fields + if script.paste_field_names is not None: + self.paste_field_names += script.paste_field_names + self.inputs += controls + script.args_to = len(self.inputs) + def setup_ui_for_section(self, section, scriptlist=None): if scriptlist is None: scriptlist = self.alwayson_scripts @@ -377,7 +403,7 @@ class ScriptRunner: inputs = [] inputs_alwayson = [True] - def create_script_ui(script, inputs, inputs_alwayson): + def create_script_ui(script, inputs, inputs_alwayson): # TODO this is legacy implementation, see self.create_script_ui script.args_from = len(inputs) script.args_to = len(inputs) controls = wrap_call(script.ui, script.filename, "ui", script.is_img2img) diff --git a/modules/sd_hijack_optimizations.py b/modules/sd_hijack_optimizations.py index 87811b48b..9a3d0d237 100644 --- a/modules/sd_hijack_optimizations.py +++ b/modules/sd_hijack_optimizations.py @@ -317,7 +317,7 @@ def get_xformers_flash_attention_op(q, k, v): return None try: - flash_attention_op = xformers.ops.MemoryEfficientAttentionFlashAttentionOp + flash_attention_op = xformers.ops.MemoryEfficientAttentionFlashAttentionOp # pylint: disable=used-before-assignment fw, _bw = flash_attention_op if fw.supports(xformers.ops.fmha.Inputs(query=q, key=k, value=v, attn_bias=None)): return flash_attention_op diff --git a/modules/sd_samplers_timesteps.py b/modules/sd_samplers_timesteps.py index dfe0a857e..0e8e01909 100644 --- a/modules/sd_samplers_timesteps.py +++ b/modules/sd_samplers_timesteps.py @@ -49,6 +49,7 @@ class CFGDenoiserTimesteps(CFGDenoiser): self.alphas = shared.sd_model.alphas_cumprod self.mask_before_denoising = True + self.model_wrap = None def get_pred_x0(self, x_in, x_out, sigma): ts = sigma.to(dtype=int) diff --git a/modules/ui_prompt_styles.py b/modules/ui_prompt_styles.py index c394cd852..56b700a27 100644 --- a/modules/ui_prompt_styles.py +++ b/modules/ui_prompt_styles.py @@ -1,8 +1,7 @@ # TODO: a1111 compatibility item, not used import gradio as gr - -from modules import shared, ui_common, ui_components, styles +from modules import shared, styles styles_edit_symbol = '\U0001f58c\uFE0F' # 🖌️ styles_materialize_symbol = '\U0001f4cb' # 📋 @@ -34,7 +33,7 @@ def delete_style(name): return '', '', '' -def materialize_styles(prompt, negative_prompt, styles): +def materialize_styles(prompt, negative_prompt, styles): # pylint: disable=redefined-outer-name prompt = shared.prompt_styles.apply_styles_to_prompt(prompt, styles) negative_prompt = shared.prompt_styles.apply_negative_styles_to_prompt(negative_prompt, styles) return [gr.Textbox.update(value=prompt), gr.Textbox.update(value=negative_prompt), gr.Dropdown.update(value=[])] @@ -45,7 +44,7 @@ def refresh_styles(): class UiPromptStyles: - def __init__(self, tabname, main_ui_prompt, main_ui_negative_prompt): + def __init__(self, tabname, main_ui_prompt, main_ui_negative_prompt): # pylint: disable=unused-argument self.dropdown = gr.Dropdown(label="Styles", elem_id=f"{tabname}_styles", choices=[style.name for style in shared.prompt_styles.styles.values()], value=[], multiselect=True) """ diff --git a/pyproject.toml b/pyproject.toml index a4ddfe7b9..931e8ba5e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -34,7 +34,11 @@ exclude = [ "extensions-builtin", "modules/lora", "modules/dml", - "modules/models/diffusion", + "modules/k-diffusion", + "repositories/ldm", + "repositories/taming", + "repositories/blip", + "repositories/codeformer", ] ignore = [ "A003", # Class attirbute shadowing builtin