v1.6.4
parent
fcf5a27aef
commit
61d395a0cd
|
|
@ -246,6 +246,9 @@ Since v1.5.5, we've already optimized the SHA256 function to the top. So the onl
|
||||||
|
|
||||||
|
|
||||||
# Change Log
|
# Change Log
|
||||||
|
## v1.6.4
|
||||||
|
* Add "Download All files" checkbox for downloading model section. Uncheck means only download 1 file.
|
||||||
|
|
||||||
## v1.6.3
|
## v1.6.3
|
||||||
* Support downloading multiple files, not avaiable when checking new version.
|
* Support downloading multiple files, not avaiable when checking new version.
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -380,7 +380,7 @@ def get_id_and_dl_url_by_version_str(version_str:str, model_info:dict) -> tuple:
|
||||||
|
|
||||||
# download model from civitai by input
|
# download model from civitai by input
|
||||||
# output to markdown log
|
# output to markdown log
|
||||||
def dl_model_by_input(model_info:dict, model_type:str, subfolder_str:str, version_str:str, max_size_preview:bool, skip_nsfw_preview:bool) -> str:
|
def dl_model_by_input(model_info:dict, model_type:str, subfolder_str:str, version_str:str, dl_all_bool:bool, max_size_preview:bool, skip_nsfw_preview:bool) -> str:
|
||||||
|
|
||||||
output = ""
|
output = ""
|
||||||
|
|
||||||
|
|
@ -438,37 +438,55 @@ def dl_model_by_input(model_info:dict, model_type:str, subfolder_str:str, versio
|
||||||
|
|
||||||
version_id = ver_info["id"]
|
version_id = ver_info["id"]
|
||||||
|
|
||||||
# get all download url from files info
|
|
||||||
# some model versions have multiple files
|
|
||||||
download_urls = []
|
|
||||||
if "files" in ver_info.keys():
|
|
||||||
for file_info in ver_info["files"]:
|
|
||||||
if "downloadUrl" in file_info.keys():
|
|
||||||
download_urls.append(file_info["downloadUrl"])
|
|
||||||
|
|
||||||
if not len(download_urls):
|
if dl_all_bool:
|
||||||
if "downloadUrl" in ver_info.keys():
|
# get all download url from files info
|
||||||
download_urls.append(ver_info["downloadUrl"])
|
# some model versions have multiple files
|
||||||
|
download_urls = []
|
||||||
|
if "files" in ver_info.keys():
|
||||||
|
for file_info in ver_info["files"]:
|
||||||
|
if "downloadUrl" in file_info.keys():
|
||||||
|
download_urls.append(file_info["downloadUrl"])
|
||||||
|
|
||||||
|
if not len(download_urls):
|
||||||
|
if "downloadUrl" in ver_info.keys():
|
||||||
|
download_urls.append(ver_info["downloadUrl"])
|
||||||
|
|
||||||
|
|
||||||
# check if this model is already existed
|
# check if this model is already existed
|
||||||
r = civitai.search_local_model_info_by_version_id(model_folder, version_id)
|
r = civitai.search_local_model_info_by_version_id(model_folder, version_id)
|
||||||
if r:
|
if r:
|
||||||
output = "This model version is already existed"
|
output = "This model version is already existed"
|
||||||
util.printD(output)
|
util.printD(output)
|
||||||
return output
|
return output
|
||||||
|
|
||||||
# download
|
# download
|
||||||
filepath = ""
|
filepath = ""
|
||||||
for url in download_urls:
|
for url in download_urls:
|
||||||
model_filepath = downloader.dl(url, model_folder, None, None)
|
model_filepath = downloader.dl(url, model_folder, None, None)
|
||||||
if not model_filepath:
|
if not model_filepath:
|
||||||
|
output = "Downloading failed, check console log for detail"
|
||||||
|
util.printD(output)
|
||||||
|
return output
|
||||||
|
|
||||||
|
if url == ver_info["downloadUrl"]:
|
||||||
|
filepath = model_filepath
|
||||||
|
else:
|
||||||
|
# only download one file
|
||||||
|
# get download url
|
||||||
|
url = ver_info["downloadUrl"]
|
||||||
|
if not url:
|
||||||
|
output = "Fail to get download url, check console log for detail"
|
||||||
|
util.printD(output)
|
||||||
|
return output
|
||||||
|
|
||||||
|
# download
|
||||||
|
filepath = downloader.dl(url, model_folder, None, None)
|
||||||
|
if not filepath:
|
||||||
output = "Downloading failed, check console log for detail"
|
output = "Downloading failed, check console log for detail"
|
||||||
util.printD(output)
|
util.printD(output)
|
||||||
return output
|
return output
|
||||||
|
|
||||||
if url == ver_info["downloadUrl"]:
|
|
||||||
filepath = model_filepath
|
|
||||||
|
|
||||||
if not filepath:
|
if not filepath:
|
||||||
filepath = model_filepath
|
filepath = model_filepath
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ import requests
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
|
|
||||||
version = "1.6.3"
|
version = "1.6.4"
|
||||||
|
|
||||||
def_headers = {'User-Agent': 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148'}
|
def_headers = {'User-Agent': 'Mozilla/5.0 (iPad; CPU OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148'}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -123,7 +123,7 @@ def on_ui_tabs():
|
||||||
gr.Markdown("Use this when scanning can not find a local model on civitai")
|
gr.Markdown("Use this when scanning can not find a local model on civitai")
|
||||||
with gr.Row():
|
with gr.Row():
|
||||||
model_type_drop = gr.Dropdown(choices=model_types, label="Model Type", value="ckp", multiselect=False)
|
model_type_drop = gr.Dropdown(choices=model_types, label="Model Type", value="ckp", multiselect=False)
|
||||||
empty_info_only_ckb = gr.Checkbox(label="Only Show Models have no Info", value=False, elem_id="cn_empty_info_only_ckb", elem_classes="ch_vpadding")
|
empty_info_only_ckb = gr.Checkbox(label="Only Show Models have no Info", value=False, elem_id="ch_empty_info_only_ckb", elem_classes="ch_vpadding")
|
||||||
model_name_drop = gr.Dropdown(choices=no_info_model_names, label="Model", value="ckp", multiselect=False)
|
model_name_drop = gr.Dropdown(choices=no_info_model_names, label="Model", value="ckp", multiselect=False)
|
||||||
|
|
||||||
model_url_or_id_txtbox = gr.Textbox(label="Civitai URL", lines=1, value="")
|
model_url_or_id_txtbox = gr.Textbox(label="Civitai URL", lines=1, value="")
|
||||||
|
|
@ -143,6 +143,7 @@ def on_ui_tabs():
|
||||||
dl_model_type_txtbox = gr.Textbox(label="Model Type", interactive=False, lines=1, value="")
|
dl_model_type_txtbox = gr.Textbox(label="Model Type", interactive=False, lines=1, value="")
|
||||||
dl_subfolder_drop = gr.Dropdown(choices=[], label="Sub-folder", value="", interactive=True, multiselect=False)
|
dl_subfolder_drop = gr.Dropdown(choices=[], label="Sub-folder", value="", interactive=True, multiselect=False)
|
||||||
dl_version_drop = gr.Dropdown(choices=[], label="Model Version", value="", interactive=True, multiselect=False)
|
dl_version_drop = gr.Dropdown(choices=[], label="Model Version", value="", interactive=True, multiselect=False)
|
||||||
|
dl_all_ckb = gr.Checkbox(label="Download All files", value=False, elem_id="ch_dl_all_ckb", elem_classes="ch_vpadding")
|
||||||
|
|
||||||
dl_civitai_model_by_id_btn = gr.Button(value="3. Download Model", variant="primary")
|
dl_civitai_model_by_id_btn = gr.Button(value="3. Download Model", variant="primary")
|
||||||
dl_log_md = gr.Markdown(value="Check Console log for Downloading Status")
|
dl_log_md = gr.Markdown(value="Check Console log for Downloading Status")
|
||||||
|
|
@ -194,7 +195,7 @@ def on_ui_tabs():
|
||||||
|
|
||||||
# Download Model
|
# Download Model
|
||||||
dl_model_info_btn.click(get_model_info_by_url, inputs=dl_model_url_or_id_txtbox, outputs=[dl_model_info, dl_model_name_txtbox, dl_model_type_txtbox, dl_subfolder_drop, dl_version_drop])
|
dl_model_info_btn.click(get_model_info_by_url, inputs=dl_model_url_or_id_txtbox, outputs=[dl_model_info, dl_model_name_txtbox, dl_model_type_txtbox, dl_subfolder_drop, dl_version_drop])
|
||||||
dl_civitai_model_by_id_btn.click(model_action_civitai.dl_model_by_input, inputs=[dl_model_info, dl_model_type_txtbox, dl_subfolder_drop, dl_version_drop, max_size_preview_ckb, skip_nsfw_preview_ckb], outputs=dl_log_md)
|
dl_civitai_model_by_id_btn.click(model_action_civitai.dl_model_by_input, inputs=[dl_model_info, dl_model_type_txtbox, dl_subfolder_drop, dl_version_drop, dl_all_ckb, max_size_preview_ckb, skip_nsfw_preview_ckb], outputs=dl_log_md)
|
||||||
|
|
||||||
# Check models' new version
|
# Check models' new version
|
||||||
check_models_new_version_btn.click(model_action_civitai.check_models_new_version_to_md, inputs=model_types_ckbg, outputs=check_models_new_version_log_md)
|
check_models_new_version_btn.click(model_action_civitai.check_models_new_version_to_md, inputs=model_types_ckbg, outputs=check_models_new_version_log_md)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue