|
# @title ## **Custom Download Corner** |
|
import os |
|
import shutil |
|
|
|
%store -r |
|
|
|
# @markdown Fill in the URL fields with the links to the files you want to download. Separate multiple URLs with a comma. |
|
# @markdown Example: `url1, url2, url3` |
|
os.chdir(root_dir) |
|
|
|
custom_download_list = [] |
|
|
|
custom_model_url = "https://civitai.com/api/download/models/7425,https://civitai.com/api/download/models/11745,https://civitai.com/api/download/models/40248" # @param {'type': 'string'} |
|
custom_vae_url = "https://huggingface.co/WarriorMama777/OrangeMixs/blob/main/VAEs/orangemix.vae.pt,https://huggingface.co/hakurei/waifu-diffusion-v1-4/blob/main/vae/kl-f8-anime2.ckpt" # @param {'type': 'string'} |
|
custom_embedding_url = "https://huggingface.co/yesyeahvh/bad-hands-5/blob/main/bad-hands-5.pt,https://huggingface.co/datasets/Nerfgun3/bad_prompt/blob/main/bad_prompt_version2.pt,https://huggingface.co/embed/EasyNegative/blob/main/EasyNegative.safetensors,https://huggingface.co/nick-x-hacker/bad-artist/resolve/main/bad-artist-anime.pt, https://huggingface.co/nick-x-hacker/bad-artist/resolve/main/bad-artist.pt, " # @param {'type': 'string'} |
|
custom_LoRA_url = "https://huggingface.co/suppcuti/riven/blob/main/Sigma99-Magallan.safetensors,https://huggingface.co/suppcuti/riven/blob/main/Kindred.safetensors,https://huggingface.co/suppcuti/riven/blob/main/riven-v1.2.safetensors" # @param {'type': 'string'} |
|
custom_hypernetwork_url = "" # @param {'type': 'string'} |
|
custom_control_url = "" # @param {'type': 'string'} |
|
custom_extensions_url = "" # @param {'type': 'string'} |
|
custom_components_url = "" # @param {'type': 'string'} |
|
custom_upscaler_url = "" # @param {'type': 'string'} |
|
|
|
|
|
def extract(url, dst): |
|
if not url.startswith("/content/"): |
|
filename = os.path.basename(url) |
|
zipfile = os.path.join(dst, filename) |
|
else: |
|
zipfile = url |
|
|
|
if url.endswith(".zip"): |
|
if os.path.exists(zipfile): |
|
!unzip -j -o {zipfile} -d "{dst}" |
|
os.remove(zipfile) |
|
elif url.endswith(".tar.lz4"): |
|
if os.path.exists(zipfile): |
|
!tar -xI lz4 -f {zipfile} --directory={dst} |
|
os.remove(zipfile) |
|
else: |
|
pass |
|
|
|
|
|
def download(url_list, dst_dir, download_list, is_extensions): |
|
downloaded = [] |
|
for url in tqdm(url_list, desc="[1;32mDownloading Custom URLs"): |
|
if url: |
|
url = url.strip() |
|
download_list.append(url) |
|
basename = os.path.basename(url) |
|
|
|
with capture.capture_output() as cap: |
|
if is_extensions: |
|
os.chdir(extensions_dir) |
|
!git clone {url} |
|
elif url.startswith("/content/drive/MyDrive/"): |
|
shutil.copy(url, dst_dir) |
|
elif url.startswith("https://drive.google.com"): |
|
if "folders" in url: |
|
!gdown --folder "{url}" -O {dst_dir} --fuzzy -c |
|
else: |
|
!gdown "{url}" -O {dst_dir} --fuzzy -c |
|
elif url.startswith("https://huggingface.co/"): |
|
if "/blob/" in url: |
|
url = url.replace("/blob/", "/resolve/") |
|
hf_token = "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" |
|
user_header = f'"Authorization: Bearer {hf_token}"' |
|
!aria2c --console-log-level=error --summary-interval=10 --header={user_header} -c -x 16 -k 1M -s 16 -d {dst_dir} -o {basename} {url} |
|
else: |
|
!aria2c --console-log-level=error --summary-interval=10 -c -x 16 -k 1M -s 16 -d {dst_dir} {url} |
|
|
|
extract(url, dst_dir) |
|
|
|
del cap |
|
downloaded.append((basename, dst_dir)) |
|
|
|
|
|
custom_download_list = [] |
|
|
|
custom_dirs = { |
|
custom_model_url: models_dir, |
|
custom_vae_url: vaes_dir, |
|
custom_embedding_url: embeddings_dir, |
|
custom_LoRA_url: lora_dir, |
|
custom_hypernetwork_url: hypernetworks_dir, |
|
custom_control_url: control_dir, |
|
custom_extensions_url: extensions_dir, |
|
custom_components_url: components_dir, |
|
custom_upscaler_url: esrgan_dir, |
|
} |
|
|
|
print(f"[1;32mDownloading...") |
|
start_time = time.time() |
|
|
|
for custom_url in [ |
|
custom_model_url, |
|
custom_vae_url, |
|
custom_embedding_url, |
|
custom_LoRA_url, |
|
custom_hypernetwork_url, |
|
custom_control_url, |
|
custom_extensions_url, |
|
custom_components_url, |
|
custom_upscaler_url, |
|
]: |
|
if custom_url: |
|
urls = custom_url.split(",") |
|
download( |
|
urls, |
|
custom_dirs[custom_url], |
|
custom_download_list, |
|
custom_url == custom_extensions_url, |
|
) |
|
|
|
end_time = time.time() |
|
elapsed_time = int(end_time - start_time) |
|
|
|
if elapsed_time < 60: |
|
print(f"\n[1;32mDownload completed. Took {elapsed_time} sec") |
|
else: |
|
mins, secs = divmod(elapsed_time, 60) |
|
print(f"\n[1;32mDownload completed. Took {mins} mins {secs} sec") |
|
|
|
print("[1;32mAll is done! Go to the next step") |