From f241051978e89d5cbe3086b913ed9a189d73b4b0 Mon Sep 17 00:00:00 2001 From: Yoink3000 Date: Sat, 22 Jun 2024 23:06:29 +0800 Subject: [PATCH] update notebook download cell --- workspace/SD Next.ipynb | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/workspace/SD Next.ipynb b/workspace/SD Next.ipynb index fb0fcb5..b754026 100644 --- a/workspace/SD Next.ipynb +++ b/workspace/SD Next.ipynb @@ -55,17 +55,23 @@ "%cd /workspace\n", "\n", "import os\n", + "from urllib.parse import urlsplit\n", + "import requests\n", "\n", "for dl in DOWNLOAD_LIST:\n", - " link = dl[0]\n", - " if len(dl) == 2:\n", - " dest = dl[1]\n", - " os.makedirs(dest, exist_ok=True)\n", - " !cd \"$dest\" && curl --create-dirs -J -L -O \"$link\"\n", - " else:\n", - " !cd /workspace && curl -L -O \"$link\"\n", - "\n", - "print(\"Download finished\")" + " baseLink = dl[0]\n", + " filename = os.path.basename(urlsplit(baseLink).path)\n", + " \n", + " finalLink = requests.head(baseLink, allow_redirects=True).url\n", + " filename = filename if \".\" in filename else os.path.basename(urlsplit(finalLink).path)\n", + " \n", + " dest = f'\"{dl[1] if len(dl) == 2 else \"./\"}{filename}\"'\n", + " baseLink = f'\"{baseLink}\"'\n", + "\n", + " print(f'\\n\\nDownloading {filename} to {dest}...')\n", + " !curl --create-dirs -L $baseLink -o $dest\n", + "\n", + "print(\"\\n\\nDownload finished\")" ] }, { @@ -84,9 +90,6 @@ "\n", "# ========================================================================\n", "\n", - "\n", - "# DON'T CHANGE ANYTHING BELOW\n", - "\n", "!/sdnext-git.sh" ] }