| 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 |
|
|