NagisaNao commited on
Commit
ba45b13
1 Parent(s): d79dbb0

✨ file download update

Browse files

- Automatically get an extension for a custom file name

files_cells/notebooks/en/auto_cleaner_en.ipynb CHANGED
@@ -131,9 +131,9 @@
131
  "auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width='auto')).add_class(\"custom-select-multiple_AC\")\n",
132
  "output = widgets.Output().add_class(\"output_AC\")\n",
133
  "# ---\n",
134
- "execute_button = Button(description='Execute Cleaning').add_class(\"button_execute_AC\").add_class(\"button_AC\")\n",
135
  "execute_button.on_click(on_execute_button_press)\n",
136
- "clear_button = Button(description='Hide Widget').add_class(\"button_clear_AC\").add_class(\"button_AC\")\n",
137
  "clear_button.on_click(on_clear_button_press)\n",
138
  "# ---\n",
139
  "storage_info = widgets.HTML(f'''\n",
@@ -143,7 +143,7 @@
143
  "buttons = widgets.HBox([execute_button, clear_button])\n",
144
  "lower_information_panel = widgets.HBox([buttons, storage_info]).add_class(\"lower_information_panel_AC\")\n",
145
  "\n",
146
- "container = VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class(\"container_AC\")\n",
147
  "\n",
148
  "display(container)"
149
  ],
 
131
  "auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width='auto')).add_class(\"custom-select-multiple_AC\")\n",
132
  "output = widgets.Output().add_class(\"output_AC\")\n",
133
  "# ---\n",
134
+ "execute_button = widgets.Button(description='Execute Cleaning').add_class(\"button_execute_AC\").add_class(\"button_AC\")\n",
135
  "execute_button.on_click(on_execute_button_press)\n",
136
+ "clear_button = widgets.Button(description='Hide Widget').add_class(\"button_clear_AC\").add_class(\"button_AC\")\n",
137
  "clear_button.on_click(on_clear_button_press)\n",
138
  "# ---\n",
139
  "storage_info = widgets.HTML(f'''\n",
 
143
  "buttons = widgets.HBox([execute_button, clear_button])\n",
144
  "lower_information_panel = widgets.HBox([buttons, storage_info]).add_class(\"lower_information_panel_AC\")\n",
145
  "\n",
146
+ "container = widgets.VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class(\"container_AC\")\n",
147
  "\n",
148
  "display(container)"
149
  ],
files_cells/notebooks/en/downloading_en.ipynb CHANGED
@@ -330,6 +330,12 @@
330
  " model_type = data['files'][1]['type']\n",
331
  " model_name = data['files'][1]['name']\n",
332
  "\n",
 
 
 
 
 
 
333
  " return model_type, model_name\n",
334
  "\n",
335
  " def get_download_url(data, model_type):\n",
@@ -352,7 +358,6 @@
352
  " return None, None\n",
353
  "\n",
354
  " model_type, model_name = get_model_info(url, data)\n",
355
- " model_name = file_name or model_name\n",
356
  " download_url = get_download_url(data, model_type)\n",
357
  " image_url, image_name = get_image_info(data, model_type, model_name)\n",
358
  "\n",
@@ -421,8 +426,12 @@
421
  " command = [\"aria2c\"] + aria2_args.split() + [\"-d\", dst_dir, \"-o\", image_name, image_url]\n",
422
  " subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)\n",
423
  "\n",
424
- " elif 'github' in url or \"huggingface.co\" in url:\n",
425
- " file_name = clean_url.split(\"/\")[-1] if file_name is None else file_name\n",
 
 
 
 
426
  "\n",
427
  " \"\"\" Formatted info output \"\"\"\n",
428
  " try:\n",
 
330
  " model_type = data['files'][1]['type']\n",
331
  " model_name = data['files'][1]['name']\n",
332
  "\n",
333
+ " if file_name and '.' not in file_name:\n",
334
+ " file_extension = model_name.split('.')[-1]\n",
335
+ " model_name = f\"{file_name}.{file_extension}\"\n",
336
+ " elif file_name:\n",
337
+ " model_name = file_name\n",
338
+ "\n",
339
  " return model_type, model_name\n",
340
  "\n",
341
  " def get_download_url(data, model_type):\n",
 
358
  " return None, None\n",
359
  "\n",
360
  " model_type, model_name = get_model_info(url, data)\n",
 
361
  " download_url = get_download_url(data, model_type)\n",
362
  " image_url, image_name = get_image_info(data, model_type, model_name)\n",
363
  "\n",
 
426
  " command = [\"aria2c\"] + aria2_args.split() + [\"-d\", dst_dir, \"-o\", image_name, image_url]\n",
427
  " subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)\n",
428
  "\n",
429
+ " elif 'github' in url or 'huggingface.co' in url:\n",
430
+ " if file_name and '.' not in file_name:\n",
431
+ " file_extension = f\"{clean_url.split('/')[-1].split('.', 1)[1]}\"\n",
432
+ " file_name = f\"{file_name}.{file_extension}\"\n",
433
+ " if not file_name:\n",
434
+ " file_name = clean_url.split(\"/\")[-1]\n",
435
  "\n",
436
  " \"\"\" Formatted info output \"\"\"\n",
437
  " try:\n",
files_cells/notebooks/ru/auto_cleaner_ru.ipynb CHANGED
@@ -136,9 +136,9 @@
136
  "auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width=\"auto\")).add_class(\"custom-select-multiple_AC\")\n",
137
  "output = widgets.Output().add_class(\"output_AC\")\n",
138
  "\n",
139
- "execute_button = Button(description='Выполнить Очистку').add_class(\"button_execute_AC\").add_class(\"button_AC\")\n",
140
  "execute_button.on_click(on_execute_button_press)\n",
141
- "clear_button = Button(description='Скрыть Виджет').add_class(\"button_clear_AC\").add_class(\"button_AC\")\n",
142
  "clear_button.on_click(on_clear_button_press)\n",
143
  "\n",
144
  "storage_info = widgets.HTML(f'''\n",
@@ -148,7 +148,7 @@
148
  "buttons = widgets.HBox([execute_button, clear_button])\n",
149
  "lower_information_panel = widgets.HBox([buttons, storage_info]).add_class(\"lower_information_panel_AC\")\n",
150
  "\n",
151
- "container = VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class(\"container_AC\")\n",
152
  "\n",
153
  "display(container)"
154
  ]
 
136
  "auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width=\"auto\")).add_class(\"custom-select-multiple_AC\")\n",
137
  "output = widgets.Output().add_class(\"output_AC\")\n",
138
  "\n",
139
+ "execute_button = widgets.Button(description='Выполнить Очистку').add_class(\"button_execute_AC\").add_class(\"button_AC\")\n",
140
  "execute_button.on_click(on_execute_button_press)\n",
141
+ "clear_button = widgets.Button(description='Скрыть Виджет').add_class(\"button_clear_AC\").add_class(\"button_AC\")\n",
142
  "clear_button.on_click(on_clear_button_press)\n",
143
  "\n",
144
  "storage_info = widgets.HTML(f'''\n",
 
148
  "buttons = widgets.HBox([execute_button, clear_button])\n",
149
  "lower_information_panel = widgets.HBox([buttons, storage_info]).add_class(\"lower_information_panel_AC\")\n",
150
  "\n",
151
+ "container = widgets.VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class(\"container_AC\")\n",
152
  "\n",
153
  "display(container)"
154
  ]
files_cells/notebooks/ru/downloading_ru.ipynb CHANGED
@@ -95,7 +95,7 @@
95
  " subprocess.run(install_cmd, shell=True, capture_output=True)\n",
96
  "\n",
97
  " # Additional specific packages\n",
98
- " with capture.capture_output()\n",
99
  " !curl -s -OL https://github.com/DEX-1101/sd-webui-notebook/raw/main/res/new_tunnel --output-dir {root_path}\n",
100
  " !curl -s -Lo /usr/bin/cl https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 && chmod +x /usr/bin/cl\n",
101
  " !curl -sLO https://github.com/openziti/zrok/releases/download/v0.4.32/zrok_0.4.32_linux_amd64.tar.gz && tar -xzf zrok_0.4.32_linux_amd64.tar.gz -C /usr/bin && rm -f zrok_0.4.32_linux_amd64.tar.gz\n",
@@ -330,6 +330,12 @@
330
  " model_type = data['files'][1]['type']\n",
331
  " model_name = data['files'][1]['name']\n",
332
  "\n",
 
 
 
 
 
 
333
  " return model_type, model_name\n",
334
  "\n",
335
  " def get_download_url(data, model_type):\n",
@@ -352,7 +358,6 @@
352
  " return None, None\n",
353
  "\n",
354
  " model_type, model_name = get_model_info(url, data)\n",
355
- " model_name = file_name or model_name\n",
356
  " download_url = get_download_url(data, model_type)\n",
357
  " image_url, image_name = get_image_info(data, model_type, model_name)\n",
358
  "\n",
@@ -421,8 +426,12 @@
421
  " command = [\"aria2c\"] + aria2_args.split() + [\"-d\", dst_dir, \"-o\", image_name, image_url]\n",
422
  " subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)\n",
423
  "\n",
424
- " elif 'github' in url or \"huggingface.co\" in url:\n",
425
- " file_name = clean_url.split(\"/\")[-1] if file_name is None else file_name\n",
 
 
 
 
426
  "\n",
427
  " \"\"\" Formatted info output \"\"\"\n",
428
  " try:\n",
 
95
  " subprocess.run(install_cmd, shell=True, capture_output=True)\n",
96
  "\n",
97
  " # Additional specific packages\n",
98
+ " with capture.capture_output():\n",
99
  " !curl -s -OL https://github.com/DEX-1101/sd-webui-notebook/raw/main/res/new_tunnel --output-dir {root_path}\n",
100
  " !curl -s -Lo /usr/bin/cl https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 && chmod +x /usr/bin/cl\n",
101
  " !curl -sLO https://github.com/openziti/zrok/releases/download/v0.4.32/zrok_0.4.32_linux_amd64.tar.gz && tar -xzf zrok_0.4.32_linux_amd64.tar.gz -C /usr/bin && rm -f zrok_0.4.32_linux_amd64.tar.gz\n",
 
330
  " model_type = data['files'][1]['type']\n",
331
  " model_name = data['files'][1]['name']\n",
332
  "\n",
333
+ " if file_name and '.' not in file_name:\n",
334
+ " file_extension = model_name.split('.')[-1]\n",
335
+ " model_name = f\"{file_name}.{file_extension}\"\n",
336
+ " elif file_name:\n",
337
+ " model_name = file_name\n",
338
+ "\n",
339
  " return model_type, model_name\n",
340
  "\n",
341
  " def get_download_url(data, model_type):\n",
 
358
  " return None, None\n",
359
  "\n",
360
  " model_type, model_name = get_model_info(url, data)\n",
 
361
  " download_url = get_download_url(data, model_type)\n",
362
  " image_url, image_name = get_image_info(data, model_type, model_name)\n",
363
  "\n",
 
426
  " command = [\"aria2c\"] + aria2_args.split() + [\"-d\", dst_dir, \"-o\", image_name, image_url]\n",
427
  " subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)\n",
428
  "\n",
429
+ " elif 'github' in url or 'huggingface.co' in url:\n",
430
+ " if file_name and '.' not in file_name:\n",
431
+ " file_extension = f\"{clean_url.split('/')[-1].split('.', 1)[1]}\"\n",
432
+ " file_name = f\"{file_name}.{file_extension}\"\n",
433
+ " if not file_name:\n",
434
+ " file_name = clean_url.split(\"/\")[-1]\n",
435
  "\n",
436
  " \"\"\" Formatted info output \"\"\"\n",
437
  " try:\n",
files_cells/python/en/auto_cleaner_en.py CHANGED
@@ -112,9 +112,9 @@ instruction_label = widgets.HTML('''
112
  auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width='auto')).add_class("custom-select-multiple_AC")
113
  output = widgets.Output().add_class("output_AC")
114
  # ---
115
- execute_button = Button(description='Execute Cleaning').add_class("button_execute_AC").add_class("button_AC")
116
  execute_button.on_click(on_execute_button_press)
117
- clear_button = Button(description='Hide Widget').add_class("button_clear_AC").add_class("button_AC")
118
  clear_button.on_click(on_clear_button_press)
119
  # ---
120
  storage_info = widgets.HTML(f'''
@@ -124,7 +124,7 @@ storage_info = widgets.HTML(f'''
124
  buttons = widgets.HBox([execute_button, clear_button])
125
  lower_information_panel = widgets.HBox([buttons, storage_info]).add_class("lower_information_panel_AC")
126
 
127
- container = VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class("container_AC")
128
 
129
  display(container)
130
 
 
112
  auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width='auto')).add_class("custom-select-multiple_AC")
113
  output = widgets.Output().add_class("output_AC")
114
  # ---
115
+ execute_button = widgets.Button(description='Execute Cleaning').add_class("button_execute_AC").add_class("button_AC")
116
  execute_button.on_click(on_execute_button_press)
117
+ clear_button = widgets.Button(description='Hide Widget').add_class("button_clear_AC").add_class("button_AC")
118
  clear_button.on_click(on_clear_button_press)
119
  # ---
120
  storage_info = widgets.HTML(f'''
 
124
  buttons = widgets.HBox([execute_button, clear_button])
125
  lower_information_panel = widgets.HBox([buttons, storage_info]).add_class("lower_information_panel_AC")
126
 
127
+ container = widgets.VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class("container_AC")
128
 
129
  display(container)
130
 
files_cells/python/en/downloading_en.py CHANGED
@@ -320,6 +320,12 @@ def CivitAi_API(url, file_name=None):
320
  model_type = data['files'][1]['type']
321
  model_name = data['files'][1]['name']
322
 
 
 
 
 
 
 
323
  return model_type, model_name
324
 
325
  def get_download_url(data, model_type):
@@ -342,7 +348,6 @@ def CivitAi_API(url, file_name=None):
342
  return None, None
343
 
344
  model_type, model_name = get_model_info(url, data)
345
- model_name = file_name or model_name
346
  download_url = get_download_url(data, model_type)
347
  image_url, image_name = get_image_info(data, model_type, model_name)
348
 
@@ -411,8 +416,12 @@ def manual_download(url, dst_dir, file_name, prefix=None):
411
  command = ["aria2c"] + aria2_args.split() + ["-d", dst_dir, "-o", image_name, image_url]
412
  subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
413
 
414
- elif 'github' in url or "huggingface.co" in url:
415
- file_name = clean_url.split("/")[-1] if file_name is None else file_name
 
 
 
 
416
 
417
  """ Formatted info output """
418
  try:
 
320
  model_type = data['files'][1]['type']
321
  model_name = data['files'][1]['name']
322
 
323
+ if file_name and '.' not in file_name:
324
+ file_extension = model_name.split('.')[-1]
325
+ model_name = f"{file_name}.{file_extension}"
326
+ elif file_name:
327
+ model_name = file_name
328
+
329
  return model_type, model_name
330
 
331
  def get_download_url(data, model_type):
 
348
  return None, None
349
 
350
  model_type, model_name = get_model_info(url, data)
 
351
  download_url = get_download_url(data, model_type)
352
  image_url, image_name = get_image_info(data, model_type, model_name)
353
 
 
416
  command = ["aria2c"] + aria2_args.split() + ["-d", dst_dir, "-o", image_name, image_url]
417
  subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
418
 
419
+ elif 'github' in url or 'huggingface.co' in url:
420
+ if file_name and '.' not in file_name:
421
+ file_extension = f"{clean_url.split('/')[-1].split('.', 1)[1]}"
422
+ file_name = f"{file_name}.{file_extension}"
423
+ if not file_name:
424
+ file_name = clean_url.split("/")[-1]
425
 
426
  """ Formatted info output """
427
  try:
files_cells/python/ru/auto_cleaner_ru.py CHANGED
@@ -112,9 +112,9 @@ instruction_label = widgets.HTML('''
112
  auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width="auto")).add_class("custom-select-multiple_AC")
113
  output = widgets.Output().add_class("output_AC")
114
 
115
- execute_button = Button(description='Выполнить Очистку').add_class("button_execute_AC").add_class("button_AC")
116
  execute_button.on_click(on_execute_button_press)
117
- clear_button = Button(description='Скрыть Виджет').add_class("button_clear_AC").add_class("button_AC")
118
  clear_button.on_click(on_clear_button_press)
119
 
120
  storage_info = widgets.HTML(f'''
@@ -124,7 +124,7 @@ storage_info = widgets.HTML(f'''
124
  buttons = widgets.HBox([execute_button, clear_button])
125
  lower_information_panel = widgets.HBox([buttons, storage_info]).add_class("lower_information_panel_AC")
126
 
127
- container = VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class("container_AC")
128
 
129
  display(container)
130
 
 
112
  auto_cleaner_widget = widgets.SelectMultiple(options=AutoCleaner_options, layout=widgets.Layout(width="auto")).add_class("custom-select-multiple_AC")
113
  output = widgets.Output().add_class("output_AC")
114
 
115
+ execute_button = widgets.Button(description='Выполнить Очистку').add_class("button_execute_AC").add_class("button_AC")
116
  execute_button.on_click(on_execute_button_press)
117
+ clear_button = widgets.Button(description='Скрыть Виджет').add_class("button_clear_AC").add_class("button_AC")
118
  clear_button.on_click(on_clear_button_press)
119
 
120
  storage_info = widgets.HTML(f'''
 
124
  buttons = widgets.HBox([execute_button, clear_button])
125
  lower_information_panel = widgets.HBox([buttons, storage_info]).add_class("lower_information_panel_AC")
126
 
127
+ container = widgets.VBox([instruction_label, widgets.HTML('<hr>'), auto_cleaner_widget, output, widgets.HTML('<hr>'), lower_information_panel]).add_class("container_AC")
128
 
129
  display(container)
130
 
files_cells/python/ru/downloading_ru.py CHANGED
@@ -85,7 +85,7 @@ if not os.path.exists(flag_file):
85
  subprocess.run(install_cmd, shell=True, capture_output=True)
86
 
87
  # Additional specific packages
88
- with capture.capture_output()
89
  get_ipython().system('curl -s -OL https://github.com/DEX-1101/sd-webui-notebook/raw/main/res/new_tunnel --output-dir {root_path}')
90
  get_ipython().system('curl -s -Lo /usr/bin/cl https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 && chmod +x /usr/bin/cl')
91
  get_ipython().system('curl -sLO https://github.com/openziti/zrok/releases/download/v0.4.32/zrok_0.4.32_linux_amd64.tar.gz && tar -xzf zrok_0.4.32_linux_amd64.tar.gz -C /usr/bin && rm -f zrok_0.4.32_linux_amd64.tar.gz')
@@ -320,6 +320,12 @@ def CivitAi_API(url, file_name=None):
320
  model_type = data['files'][1]['type']
321
  model_name = data['files'][1]['name']
322
 
 
 
 
 
 
 
323
  return model_type, model_name
324
 
325
  def get_download_url(data, model_type):
@@ -342,7 +348,6 @@ def CivitAi_API(url, file_name=None):
342
  return None, None
343
 
344
  model_type, model_name = get_model_info(url, data)
345
- model_name = file_name or model_name
346
  download_url = get_download_url(data, model_type)
347
  image_url, image_name = get_image_info(data, model_type, model_name)
348
 
@@ -411,8 +416,12 @@ def manual_download(url, dst_dir, file_name, prefix=None):
411
  command = ["aria2c"] + aria2_args.split() + ["-d", dst_dir, "-o", image_name, image_url]
412
  subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
413
 
414
- elif 'github' in url or "huggingface.co" in url:
415
- file_name = clean_url.split("/")[-1] if file_name is None else file_name
 
 
 
 
416
 
417
  """ Formatted info output """
418
  try:
 
85
  subprocess.run(install_cmd, shell=True, capture_output=True)
86
 
87
  # Additional specific packages
88
+ with capture.capture_output():
89
  get_ipython().system('curl -s -OL https://github.com/DEX-1101/sd-webui-notebook/raw/main/res/new_tunnel --output-dir {root_path}')
90
  get_ipython().system('curl -s -Lo /usr/bin/cl https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 && chmod +x /usr/bin/cl')
91
  get_ipython().system('curl -sLO https://github.com/openziti/zrok/releases/download/v0.4.32/zrok_0.4.32_linux_amd64.tar.gz && tar -xzf zrok_0.4.32_linux_amd64.tar.gz -C /usr/bin && rm -f zrok_0.4.32_linux_amd64.tar.gz')
 
320
  model_type = data['files'][1]['type']
321
  model_name = data['files'][1]['name']
322
 
323
+ if file_name and '.' not in file_name:
324
+ file_extension = model_name.split('.')[-1]
325
+ model_name = f"{file_name}.{file_extension}"
326
+ elif file_name:
327
+ model_name = file_name
328
+
329
  return model_type, model_name
330
 
331
  def get_download_url(data, model_type):
 
348
  return None, None
349
 
350
  model_type, model_name = get_model_info(url, data)
 
351
  download_url = get_download_url(data, model_type)
352
  image_url, image_name = get_image_info(data, model_type, model_name)
353
 
 
416
  command = ["aria2c"] + aria2_args.split() + ["-d", dst_dir, "-o", image_name, image_url]
417
  subprocess.run(command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
418
 
419
+ elif 'github' in url or 'huggingface.co' in url:
420
+ if file_name and '.' not in file_name:
421
+ file_extension = f"{clean_url.split('/')[-1].split('.', 1)[1]}"
422
+ file_name = f"{file_name}.{file_extension}"
423
+ if not file_name:
424
+ file_name = clean_url.split("/")[-1]
425
 
426
  """ Formatted info output """
427
  try: