stable-diffusion-webui/modules/custom_statics.py
JaredTherriault f3d1631aab
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.
2023-08-27 21:54:05 -07:00

29 lines
1.0 KiB
Python

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)