|
|
|
print("me") |
|
import os |
|
import xml |
|
import xml.sax |
|
import sys |
|
img_folder = "F:\StableDifussion\stable diffusion 工具\DanbooruDownloader3.20220828\images\gelbooru.com\deedlit\proccessed" |
|
xml_path = "F:\StableDifussion\stable diffusion 工具\DanbooruDownloader3.20220828\savelist\deedlit.xml" |
|
|
|
xml_imgs_list = []; |
|
|
|
|
|
class MovieHandler( xml.sax.ContentHandler ): |
|
def __init__(self): |
|
self.CurrentData = "" |
|
self.Id = "" |
|
self.index = 0 |
|
self.Filename = "" |
|
self.Tags = "" |
|
self.row = [] |
|
|
|
|
|
def startElement(self, tag, attributes): |
|
self.CurrentData = tag |
|
|
|
|
|
|
|
def endElement(self, tag): |
|
if self.CurrentData == "JpegHeight": |
|
|
|
|
|
|
|
print ("JpegHeight:") |
|
|
|
self.CurrentData = "" |
|
|
|
def characters(self, content): |
|
if self.CurrentData == "Id": |
|
print('Id:'+str(content)) |
|
|
|
|
|
|
|
|
|
self.row = [] |
|
self.row.append(content) |
|
elif self.CurrentData == "Tags": |
|
print('Tags:'+str(content)) |
|
|
|
self.row.append(content) |
|
elif self.CurrentData == "Filename": |
|
print('Filename:'+str(content)) |
|
|
|
|
|
|
|
self.row.append(content) |
|
if len(self.row) < 3: |
|
print(self.row) |
|
print("该图片生成失败,按回车键继续") |
|
input() |
|
self.row = [] |
|
else: |
|
xml_imgs_list.append(self.row) |
|
self.row = [] |
|
|
|
parser = xml.sax.make_parser() |
|
parser.setFeature(xml.sax.handler.feature_namespaces, 0) |
|
Handler = MovieHandler() |
|
parser.setContentHandler( Handler ) |
|
parser.parse(xml_path); |
|
|
|
|
|
|
|
prompt_arr = [] |
|
for file_name in os.listdir(img_folder): |
|
for xml_row in xml_imgs_list: |
|
try: |
|
if file_name in xml_row[2]: |
|
text_content = xml_row[1] |
|
prompt_arr.append(text_content) |
|
file_path_explode_arr = os.path.splitext(file_name); |
|
|
|
save_path = os.path.join(img_folder,file_path_explode_arr[0]+".txt") |
|
|
|
|
|
|
|
|
|
|
|
|
|
file = open(save_path,'w+') |
|
file.write(text_content); |
|
file.close() |
|
except: |
|
print(xml_row) |
|
print("该图片生成失败,按回车键继续") |
|
input() |
|
|
|
file = open(os.path.join(img_folder,"all_prompt.txt"),'w+') |
|
file.write(",".join(prompt_arr)); |
|
file.close() |
|
|
|
|
|
|