Prefix working with automatic
Moved cleaning into seperate function, now also works with calling for Artists only mode
This commit is contained in:
+35
-30
@@ -548,7 +548,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
||||
|
||||
|
||||
if(onlyartists == True):
|
||||
completeprompt = completeprompt.strip(", ")
|
||||
|
||||
# clean it up
|
||||
completeprompt = cleanup(completeprompt)
|
||||
|
||||
print("only generated these artists:" + completeprompt)
|
||||
return completeprompt
|
||||
|
||||
@@ -1047,36 +1050,10 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
|
||||
attachedlist = allwildcardslistwithhybridlists[allwildcardslistwithhybrid.index(wildcard)]
|
||||
completeprompt = replacewildcard(completeprompt, insanitylevel, wildcard, attachedlist,True)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
completeprompt = re.sub('\[ ', '[', completeprompt)
|
||||
completeprompt = re.sub(' \]', ']', completeprompt)
|
||||
completeprompt = re.sub(' \|', '|', completeprompt)
|
||||
completeprompt = re.sub(' \"', '\"', completeprompt)
|
||||
completeprompt = re.sub('\" ', '\"', completeprompt)
|
||||
completeprompt = re.sub('\( ', '(', completeprompt)
|
||||
completeprompt = re.sub(' \(', '(', completeprompt)
|
||||
completeprompt = re.sub('\) ', ')', completeprompt)
|
||||
completeprompt = re.sub(' \)', ')', completeprompt)
|
||||
|
||||
completeprompt = re.sub(' :', ':', completeprompt)
|
||||
|
||||
completeprompt = re.sub(',,', ', ', completeprompt)
|
||||
completeprompt = re.sub(',,,', ', ', completeprompt)
|
||||
completeprompt = re.sub(', ,', ',', completeprompt)
|
||||
completeprompt = re.sub(' , ', ', ', completeprompt)
|
||||
completeprompt = re.sub(',\(', ', (', completeprompt)
|
||||
|
||||
completeprompt = re.sub('a The', 'The', completeprompt)
|
||||
completeprompt = re.sub(', ,', ',', completeprompt)
|
||||
|
||||
|
||||
completeprompt = completeprompt.strip(", ")
|
||||
|
||||
|
||||
# clean it up
|
||||
completeprompt = cleanup(completeprompt)
|
||||
|
||||
#just for me, some fun with posting fake dev messages (ala old sim games)
|
||||
if(random.randint(1, 50)==1):
|
||||
@@ -1111,4 +1088,32 @@ def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehy
|
||||
|
||||
completeprompt = completeprompt.replace(wildcard, random.choice(listname),1)
|
||||
|
||||
return completeprompt
|
||||
|
||||
def cleanup(completeprompt):
|
||||
# all cleanup steps moved here
|
||||
completeprompt = re.sub('\[ ', '[', completeprompt)
|
||||
completeprompt = re.sub(' \]', ']', completeprompt)
|
||||
completeprompt = re.sub(' \|', '|', completeprompt)
|
||||
completeprompt = re.sub(' \"', '\"', completeprompt)
|
||||
completeprompt = re.sub('\" ', '\"', completeprompt)
|
||||
completeprompt = re.sub('\( ', '(', completeprompt)
|
||||
completeprompt = re.sub(' \(', '(', completeprompt)
|
||||
completeprompt = re.sub('\) ', ')', completeprompt)
|
||||
completeprompt = re.sub(' \)', ')', completeprompt)
|
||||
|
||||
completeprompt = re.sub(' :', ':', completeprompt)
|
||||
|
||||
completeprompt = re.sub(',,', ', ', completeprompt)
|
||||
completeprompt = re.sub(',,,', ', ', completeprompt)
|
||||
completeprompt = re.sub(', ,', ',', completeprompt)
|
||||
completeprompt = re.sub(' , ', ', ', completeprompt)
|
||||
completeprompt = re.sub(',\(', ', (', completeprompt)
|
||||
|
||||
completeprompt = re.sub('a The', 'The', completeprompt)
|
||||
completeprompt = re.sub(', ,', ',', completeprompt)
|
||||
|
||||
|
||||
completeprompt = completeprompt.strip(", ")
|
||||
|
||||
return completeprompt
|
||||
+6
-6
@@ -10,22 +10,22 @@ from build_dynamic_prompt import *
|
||||
|
||||
|
||||
|
||||
def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", imagetype="all",silentmode=False, workprompt="", antistring="",prefixprompt="", suffixprompt="", negativeprompt="",promptcompounderlevel = "1", seperator="comma",givensubject="",smartsubject=True,giventypeofimage=""):
|
||||
def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", imagetype="all",onlyartists=False, workprompt="", antistring="",prefixprompt="", suffixprompt="", negativeprompt="",promptcompounderlevel = "1", seperator="comma",givensubject="",smartsubject=True,giventypeofimage=""):
|
||||
loops = int(amount) # amount of images to generate
|
||||
steps = 0
|
||||
|
||||
insanitylevel = int(insanitylevel)
|
||||
while steps < loops:
|
||||
# build prompt
|
||||
if(silentmode==True and workprompt == ""):
|
||||
print("Trying to use provided workflow prompt, but is empty. Generating a random prompt instead.")
|
||||
|
||||
result = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, False,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage)
|
||||
result = build_dynamic_prompt(insanitylevel,subject,artist,imagetype, onlyartists,antistring,prefixprompt,suffixprompt,promptcompounderlevel, seperator,givensubject,smartsubject,giventypeofimage)
|
||||
|
||||
print("")
|
||||
print("loop " + str(steps))
|
||||
print("")
|
||||
|
||||
if(onlyartists == True):
|
||||
print(result)
|
||||
print("")
|
||||
|
||||
|
||||
|
||||
@@ -35,4 +35,4 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im
|
||||
print("")
|
||||
print("All done!")
|
||||
|
||||
generateprompts(100,10)
|
||||
generateprompts(10,7,"all","all","all",True,"","","")
|
||||
@@ -654,9 +654,9 @@ class Script(scripts.Script):
|
||||
print("Automatic and artist mode set to none, don't work together well. Ignoring this setting!")
|
||||
artist = "all"
|
||||
|
||||
if(ANDtoggle == "automatic" and (prefixprompt != "")):
|
||||
print("Automatic doesnt work well if there is an prefix prompt filled in. Ignoring this prompt fields!")
|
||||
prefixprompt = ""
|
||||
#if(ANDtoggle == "automatic" and (prefixprompt != "")):
|
||||
# print("Automatic doesnt work well if there is an prefix prompt filled in. Ignoring this prompt fields!")
|
||||
# prefixprompt = ""
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user