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
|
||||
## v1.6.4
|
||||
* Add "Download All files" checkbox for downloading model section. Uncheck means only download 1 file.
|
||||
|
||||
## v1.6.3
|
||||
* 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
|
||||
# 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 = ""
|
||||
|
||||
|
|
@ -438,37 +438,55 @@ def dl_model_by_input(model_info:dict, model_type:str, subfolder_str:str, versio
|
|||
|
||||
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 "downloadUrl" in ver_info.keys():
|
||||
download_urls.append(ver_info["downloadUrl"])
|
||||
if dl_all_bool:
|
||||
# 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 "downloadUrl" in ver_info.keys():
|
||||
download_urls.append(ver_info["downloadUrl"])
|
||||
|
||||
|
||||
# check if this model is already existed
|
||||
r = civitai.search_local_model_info_by_version_id(model_folder, version_id)
|
||||
if r:
|
||||
output = "This model version is already existed"
|
||||
util.printD(output)
|
||||
return output
|
||||
# check if this model is already existed
|
||||
r = civitai.search_local_model_info_by_version_id(model_folder, version_id)
|
||||
if r:
|
||||
output = "This model version is already existed"
|
||||
util.printD(output)
|
||||
return output
|
||||
|
||||
# download
|
||||
filepath = ""
|
||||
for url in download_urls:
|
||||
model_filepath = downloader.dl(url, model_folder, None, None)
|
||||
if not model_filepath:
|
||||
# download
|
||||
filepath = ""
|
||||
for url in download_urls:
|
||||
model_filepath = downloader.dl(url, model_folder, None, None)
|
||||
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"
|
||||
util.printD(output)
|
||||
return output
|
||||
|
||||
if url == ver_info["downloadUrl"]:
|
||||
filepath = model_filepath
|
||||
|
||||
if not filepath:
|
||||
filepath = model_filepath
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import requests
|
|||
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'}
|
||||
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ def on_ui_tabs():
|
|||
gr.Markdown("Use this when scanning can not find a local model on civitai")
|
||||
with gr.Row():
|
||||
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_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_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_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_log_md = gr.Markdown(value="Check Console log for Downloading Status")
|
||||
|
|
@ -194,7 +195,7 @@ def on_ui_tabs():
|
|||
|
||||
# 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_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_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