diff options
author | JaredTherriault <noirjt@live.com> | 2023-08-28 04:54:05 +0000 |
---|---|---|
committer | JaredTherriault <noirjt@live.com> | 2023-08-28 04:54:05 +0000 |
commit | f3d1631aab82d559294126a9230c979ef4c4e1d6 (patch) | |
tree | 1a130594cd6f1bed415cfc2dfb92253ee059e7de /modules/custom_statics.py | |
parent | c9c8485bc1e8720aba70f029d25cba1c4abf2b5c (diff) | |
download | stable-diffusion-webui-gfx803-f3d1631aab82d559294126a9230c979ef4c4e1d6.tar.gz stable-diffusion-webui-gfx803-f3d1631aab82d559294126a9230c979ef4c4e1d6.tar.bz2 stable-diffusion-webui-gfx803-f3d1631aab82d559294126a9230c979ef4c4e1d6.zip |
Offloading custom work
-custom_statics works to do mass replace strings, intended for copy-pasting gen info from internet generations and replacing unsavory prompts with safer prompts for my own sanity
-tried to implement this into generation_parameters_copypaste but it didn't work out this iteration, presumably because we return a string and the calling method is looking for an object type
-updated webui-user.bat to set a custom temp directory (for disk space concerns) and to apply xformers (for generation speed)
I probably won't be merging any of this work into the main repo since I don't want to mess with anyone else's prompts, this is just intended to keep my workspace safe from anything I don't want to see. Eventually this should be done in an extension which I could then publish, but I need to learn a lot more about the extension and callback systems in the main repo first. just uploading this to my fork for now so i don't lose the current progress.
Diffstat (limited to 'modules/custom_statics.py')
-rw-r--r-- | modules/custom_statics.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/custom_statics.py b/modules/custom_statics.py new file mode 100644 index 00000000..207bd5fb --- /dev/null +++ b/modules/custom_statics.py @@ -0,0 +1,29 @@ +import os +import gc +import re + +import modules.paths as paths + +class CustomStatics: + + @staticmethod + # loads a file with strings structured as below, on each line with a : between the search and replace strings, into a list + # search0:replace0 + # search string:replace string + # + # Then replaces all occurrences of the list's search strings with the list's replace strings in one go + def mass_replace_strings(input_string): + with open(os.path.join(paths.data_path, "custom_statics/Replacements.txt"), "r", encoding="utf8") as file: + replacements = file.readlines() + + replacement_dict = {} + for line in replacements: + search, replace = line.strip().split(":") + replacement_dict[search] = replace + + def replace(match_text): + return replacement_dict[match_text.group(0)] + + return re.sub('|'.join(r'\b%s\b' % re.escape(s) for s in replacement_dict.keys()), replace, str(input_string)) + + return str(geninfo)
\ No newline at end of file |