FLUX-Wallpaper-HD-Maker_p / lora_saver.py
K00B404's picture
Update lora_saver.py
99945e0 verified
raw
history blame
1.42 kB
import os
import shutil
from huggingface_hub import hf_hub_download, upload_folder, HfApi
#from loras import loras
# Your Hugging Face model repo
HF_REPO = "K00B404/LoraStack"
def download_lora(repo_id, save_dir="loras"):
"""Download all files from a LoRA repository."""
print(f"lora repo {repo_id}")
model_name = repo_id.split("/")[-1]
target_dir = os.path.join(save_dir, model_name)
os.makedirs(target_dir, exist_ok=True)
# Get file list from repo
api = HfApi()
files = api.list_repo_files(repo_id, repo_type="model")
for file in files:
if not file.endswith('.png') and not file.endswith('.jpg') and not file.endswith('.webp'):
print(f"Downloading {file} from {repo_id}...")
hf_hub_download(repo_id=repo_id, filename=file, local_dir=target_dir)
return target_dir
def upload_to_hf(local_dir, hf_repo):
"""Upload the downloaded LoRA folder to Hugging Face."""
print(f"Uploading {local_dir} to {hf_repo}...")
upload_folder(folder_path=local_dir, repo_id=hf_repo, repo_type="model")
def main(loras):
"""Fetch, download, and upload LoRAs to Hugging Face."""
for repo_id in loras:
local_dir = download_lora(repo_id)
upload_to_hf(local_dir, HF_REPO)
print(f"Successfully uploaded {repo_id} to {HF_REPO}\n")
print("All LoRAs processed!")
if __name__ == "__main__":
main()