| import re |
| import json |
| prompt_shortcut_dict ={} |
|
|
|
|
| def readToJson(): |
| return load() |
|
|
| def writeToJson(file_name,data_dict): |
| with open(file_name, "w") as outfile: |
| json.dump(data_dict, outfile,indent=4) |
|
|
|
|
| def load(): |
| global prompt_shortcut_dict |
| try: |
| with open('prompt_shortcut.json') as f_obj: |
| data = json.load(f_obj) |
| prompt_shortcut_dict = data |
| print(data) |
| except IOError: |
| print("prompt_shortcut.json is not found") |
| return prompt_shortcut_dict |
| def find_words_inside_braces(string): |
| result = "" |
| pattern ="\{(.*?)\}" |
| keywords = [] |
| for match in re.findall(pattern, string): |
| keywords.append(match) |
| result += match |
| return keywords |
|
|
| |
| |
| text = "a beautiful girl{ }, {char1}, {painterly_style} holding a cute cat { style_1 } on sunny day" |
| |
|
|
|
|
|
|
| def replaceShortcut(text,prompt_shortcut_dict): |
| raw_keywords = find_words_inside_braces(text) |
| strip_keywords = list(map(lambda s: s.strip(),raw_keywords)) |
|
|
| original_substrings = list(map(lambda s: '{'+s+'}',raw_keywords)) |
|
|
| print("raw_keywords: ", raw_keywords) |
| print("strip_keywords: ", strip_keywords) |
| print("original_substrings: ",original_substrings) |
| |
|
|
| for i, word in enumerate(strip_keywords): |
| |
| print("word: ",word) |
| if len(word) > 0 and word in prompt_shortcut_dict: |
| prompt = prompt_shortcut_dict[word] |
| print("prompt: ",prompt) |
| text = text.replace(original_substrings[i],prompt) |
| |
| |
| print ("final text: ",text) |
| return text |