fix patherror

pull/16/head
dr413677671 2022-12-05 20:38:28 +08:00
parent ec5fd5ac12
commit b5f9b66b02
1 changed files with 16 additions and 15 deletions

View File

@ -30,20 +30,17 @@ import modules.shared as shared
if '__file__' in locals().keys():
root_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
root_path = os.path.join(root_path, "../")
root_path = os.path.abspath(os.path.join(root_path, os.path.pardir))
else:
if platform.system() == "Windows":
root_path = "./"
else:
root_path = "./"
root_path = os.path.abspath(shared.script_path)
try:
with open("./extensions/prompt_gallery_name.json") as fd:
extension_name = json.load(fd)['name']
except:
extension_name = "Prompt Gallery"
OUTPATH_SAMPLES = './extensions/{}/assets/preview/'.format(extension_name)
OUTPATH_GRIDS = './extensions/{}/assets/grid/'.format(extension_name)
OUTPATH_SAMPLES = os.path.join(root_path, 'extensions', extension_name, 'assets', 'preview')
OUTPATH_GRIDS = os.path.join(root_path, 'extensions', extension_name, 'assets', 'grid')
BATCH_SIZE = 4
N_ITER = 2
@ -251,7 +248,7 @@ def parse_yaml_dict(rawDict, tag, avatar_prompt, avatar_name, default_negative):
# depth-first-search
if 'value' in rawDict.keys() or 'negative' in rawDict.keys():
if SKIP_EXISTS:
if os.path.exists(OUTPATH_SAMPLES + tag + '/' + avatar_name+'.png') or os.path.exists(OUTPATH_SAMPLES + tag + '\\' + 'Not-available.png'):
if os.path.exists(os.path.join(OUTPATH_SAMPLES, tag, avatar_name+'.png')) or os.path.exists(os.path.join(OUTPATH_SAMPLES,tag,'Not-available.png')):
print("Skip "+str(tag))
return ""
cur = ""
@ -310,7 +307,7 @@ def rename_preview(avatar_name):
if each_avatar + '.png' in files:
files.remove(each_avatar + '.png')
if len(files) == 1:
os.rename(root + folder + '/' + files[0], root + folder + '/' + avatar_name + '.png')
os.rename(os.path.join(root, folder, files[0]), os.path.join(root, folder, avatar_name + '.png'))
else:
print('There are 0 or more than 1 files in ' + folder)
@ -405,11 +402,15 @@ def scan_outputs(avatar_name):
root = OUTPATH_SAMPLES
global qc_dict
qc_dict = {}
if not os.path.exists(root):
os.mkdir(root)
for folder in os.listdir(root):
if os.path.isdir(root + folder) == False:
if os.path.isdir(os.path.join(root, folder)) == False:
continue
files = os.listdir(root + folder)
files = os.listdir(os.path.join(root, folder))
if 'Not-available.png' in files:
print('Skip '+ folder + ' not available.')
continue
@ -420,7 +421,7 @@ def scan_outputs(avatar_name):
files.remove(each_avatar + '.png')
if len(files) == 0:
continue
qc_dict[folder] = [root + folder + '/' + file for file in files]
qc_dict[folder] = [os.path.join(root, folder, file) for file in files]
if len(qc_dict.keys()) == 0:
return gr.Dropdown.update(choices=[])
@ -430,7 +431,7 @@ def update_gallery(dropdown, avatar):
root = OUTPATH_SAMPLES
global trg_img, current_folder
current_folder = root + dropdown
trg_img = root + dropdown + '/' + avatar + '.png'
trg_img = os.path.join(root, dropdown, avatar + '.png')
return qc_dict[dropdown]
def clean_select_picture(filename):
@ -444,9 +445,9 @@ def clean_select_picture(filename):
is_avatar = True
break
if os.path.splitext(file)[0] in filename:
os.rename(current_folder+'/'+file, trg_img)
os.rename(os.path.join(current_folder, file, trg_img))
elif is_avatar == False:
os.remove(current_folder+'/'+file)
os.remove(os.path.join(current_folder, file))
def image_url(filedata):
if type(filedata) == dict and filedata["is_file"]: