Update main.py
Browse files
main.py
CHANGED
@@ -224,34 +224,42 @@ class CivitAICrawler:
|
|
224 |
|
225 |
versions = info["modelVersions"]
|
226 |
|
227 |
-
# ★ ここで固定フォルダ "local_models" を作る
|
228 |
base_dir = "local_models"
|
229 |
os.makedirs(base_dir, exist_ok=True)
|
230 |
|
231 |
-
#
|
|
|
|
|
|
|
232 |
folder_name = str(model_id)
|
233 |
-
folder_path = os.path.join(base_dir, folder_name)
|
234 |
|
235 |
-
|
236 |
if os.path.exists(folder_path):
|
237 |
shutil.rmtree(folder_path)
|
238 |
os.makedirs(folder_path, exist_ok=True)
|
239 |
|
240 |
-
logger.info(f"[OK]
|
241 |
|
242 |
-
#
|
243 |
-
# 例: すべて folder_path に保存
|
244 |
for v in versions:
|
245 |
for f_info in v.get("files", []):
|
246 |
dl_url = f_info["downloadUrl"]
|
247 |
fname = f_info["name"]
|
248 |
self.download_file(dl_url, folder_path, fname)
|
249 |
|
250 |
-
#
|
251 |
self.download_images(versions, folder_path)
|
252 |
|
253 |
-
#
|
254 |
-
self.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
255 |
|
256 |
async def crawl(self):
|
257 |
while True:
|
|
|
224 |
|
225 |
versions = info["modelVersions"]
|
226 |
|
|
|
227 |
base_dir = "local_models"
|
228 |
os.makedirs(base_dir, exist_ok=True)
|
229 |
|
230 |
+
# フォルダ名はモデル名にする場合:
|
231 |
+
# name = info.get("name","UnknownModel")
|
232 |
+
# folder_name = re.sub(r'[\\/*?:"<>|]', '_', name)
|
233 |
+
# ただし今はIDが使われているので:
|
234 |
folder_name = str(model_id)
|
|
|
235 |
|
236 |
+
folder_path = os.path.join(base_dir, folder_name)
|
237 |
if os.path.exists(folder_path):
|
238 |
shutil.rmtree(folder_path)
|
239 |
os.makedirs(folder_path, exist_ok=True)
|
240 |
|
241 |
+
logger.info(f"[OK] Created local folder => {folder_path}")
|
242 |
|
243 |
+
# ダウンロード
|
|
|
244 |
for v in versions:
|
245 |
for f_info in v.get("files", []):
|
246 |
dl_url = f_info["downloadUrl"]
|
247 |
fname = f_info["name"]
|
248 |
self.download_file(dl_url, folder_path, fname)
|
249 |
|
250 |
+
# 画像
|
251 |
self.download_images(versions, folder_path)
|
252 |
|
253 |
+
# OPTIONAL: save model_info.json or HTML
|
254 |
+
# self.save_model_info(info, folder_path)
|
255 |
+
|
256 |
+
# === 暗号化&アップロード ===
|
257 |
+
logger.info(f"[DEBUG] Calling encrypt_and_upload_folder => {folder_path}")
|
258 |
+
enc_folder = self.encrypt_and_upload_folder(folder_path)
|
259 |
+
if enc_folder is None:
|
260 |
+
logger.warning("[WARN] Encryption/Upload returned None.")
|
261 |
+
else:
|
262 |
+
logger.info(f"[OK] Encrypted & uploaded folder => {enc_folder}")
|
263 |
|
264 |
async def crawl(self):
|
265 |
while True:
|