|
import re |
|
import json |
|
import glob |
|
import os |
|
|
|
for file in glob.glob("**/*.civitai.info", recursive=True): |
|
try: |
|
out = {} |
|
jsonname = re.sub(r"\.civitai\.info$", ".json", file) |
|
textname = re.sub(r"\.civitai\.info$", ".txt", file) |
|
if os.path.isfile(jsonname): |
|
continue |
|
description = "" |
|
if os.path.isfile(textname): |
|
with open(textname) as f: |
|
description = f.read() |
|
f.close() |
|
|
|
with open(file) as f: |
|
info = json.load(f) |
|
print("Processing :",jsonname) |
|
sdversion = "Unknown" |
|
if 'SD 1' in info['baseModel']: |
|
sdversion = "SD1" |
|
if 'SD 2' in info['baseModel']: |
|
sdversion = "SD2" |
|
if 'SDXL' in info['baseModel']: |
|
sdversion = "SDXL" |
|
|
|
|
|
out["description"] = description |
|
out["activation text"] = ", ".join(info["trainedWords"]) |
|
out["notes"] = f"https://civitai.com/models/{info['modelId']}?modelVersionId={info['id']}" |
|
out["sd version"] = sdversion |
|
out["preferred weight"] = 1 |
|
with open(jsonname, "w") as f: |
|
json.dump(out, f, indent=4) |
|
except: |
|
print("ERROR :", file) |
|
continue |
|
|