zixaphir / Stable-Diffusion-Webui-Civitai-Helper

Stable Diffusion Webui Extension for Civitai, to manage your model much more easily.
198 stars 25 forks source link

[Feature]为是否生成.json文件添加开关 #14

Closed aylz10 closed 1 year ago

aylz10 commented 1 year ago

可否为是否生成.json文件添加控制开关 我修改了sd-webui的modules\extra_networks.py使其可以直接读取civitai.info文件的元数据,当我需要更改模型信息、描述内容、自动选择vae等信息时,直接保存为json文件的数据,并且可以直接在文件夹中看有没有json文件可以很直观的判断出哪些是自己修改了内容,哪些使用的是原始的civitai元数据.如果每个模型都生成civitai.info和.json文件,那么就失去了这个便利的判断方法

aylz10 commented 1 year ago

修改sd-webui的modules\extra_networks.py使其直接读取civitai.info文件的元数据的方法很简单 修改def get_user_metadata(filename):函数 将内容从

def get_user_metadata(filename): if filename is None: return {}

basename, ext = os.path.splitext(filename)
metadata_filename = basename + '.json'

metadata = {}
try:
    if os.path.isfile(metadata_filename):
        with open(metadata_filename, "r", encoding="utf8") as file:
            metadata = json.load(file)
except Exception as e:
    errors.display(e, f"reading extra network user metadata from {metadata_filename}")

return metadata

变更为

def get_user_metadata(filename): if filename is None: return {}

basename, ext = os.path.splitext(filename)
metadata_filename = basename + '.json'
metadata_filename1 = basename + '.civitai.info'

metadata = {}
try:
    if os.path.isfile(metadata_filename):
        with open(metadata_filename, "r", encoding="utf8") as file:
            metadata = json.load(file)
    elif os.path.isfile(metadata_filename1):
        with open(metadata_filename1, "r", encoding="utf8") as file:
            metadata = json.load(file)
except Exception as e:
    errors.display(e, f"reading extra network user metadata from {metadata_filename}")

return metadata
zixaphir commented 1 year ago

Added in v1.7.3