Spaces:
Runtime error
Runtime error
Commit
·
98f4346
1
Parent(s):
e33603e
Add civitai-to-hf-uploader
Browse files
app.py
CHANGED
@@ -44,7 +44,14 @@ def get_files_by_username(username):
|
|
44 |
for model in data['items']:
|
45 |
for version in model['modelVersions']:
|
46 |
for file in version['files']:
|
47 |
-
output[str(model['id']) + '/' + str(version['id']) + '/' + file['name']] =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
metadata = data.get('metadata', {})
|
50 |
url = metadata.get('nextPage', None)
|
@@ -82,15 +89,27 @@ def process_url(url, profile, user_repo_id, oauth_token, folder):
|
|
82 |
downloaded_files = {}
|
83 |
total_files = len(files)
|
84 |
current_file = 1
|
85 |
-
for dl_path,
|
86 |
try:
|
|
|
87 |
filename = dl_path.split('/')[-1]
|
88 |
gr.Info(f"Downloading {filename} ({current_file}/{total_files})")
|
89 |
download_file(download_url, dl_path, folder)
|
90 |
# Upload the model and card
|
91 |
gr.Info(f"Uploading {filename} ({current_file}/{total_files})")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
upload_folder(
|
93 |
-
folder_path=
|
94 |
repo_id=user_repo_id,
|
95 |
repo_type="model",
|
96 |
path_in_repo=os.path.dirname(dl_path),
|
|
|
44 |
for model in data['items']:
|
45 |
for version in model['modelVersions']:
|
46 |
for file in version['files']:
|
47 |
+
output[str(model['id']) + '/' + str(version['id']) + '/' + file['name']] = {
|
48 |
+
'downloadUrl': file['downloadUrl'],
|
49 |
+
'modelId': model['name'] + ' - ' + version['name'],
|
50 |
+
'modelUrl': f"https://civitai.com/models/{model['id']}?modelVersionId={version['id']}",
|
51 |
+
'author': model['creator']['username'],
|
52 |
+
'authorUrl': f"https://civitai.com/user/{model['creator']['username']}",
|
53 |
+
'mirrorUrl': f"https://civitaiarchive.com/models/{model['id']}?modelVersionId={version['id']}",
|
54 |
+
}
|
55 |
|
56 |
metadata = data.get('metadata', {})
|
57 |
url = metadata.get('nextPage', None)
|
|
|
89 |
downloaded_files = {}
|
90 |
total_files = len(files)
|
91 |
current_file = 1
|
92 |
+
for dl_path, data in files.items():
|
93 |
try:
|
94 |
+
download_url = data['downloadUrl']
|
95 |
filename = dl_path.split('/')[-1]
|
96 |
gr.Info(f"Downloading {filename} ({current_file}/{total_files})")
|
97 |
download_file(download_url, dl_path, folder)
|
98 |
# Upload the model and card
|
99 |
gr.Info(f"Uploading {filename} ({current_file}/{total_files})")
|
100 |
+
base_folder = os.path.join(folder, os.path.dirname(dl_path))
|
101 |
+
|
102 |
+
# Create README.md file
|
103 |
+
readme = f"""
|
104 |
+
Author: [{data['author']}]({data['authorUrl']})
|
105 |
+
Model: [{data['modelUrl']}]({data['modelUrl']})
|
106 |
+
Mirror: [{data['mirrorUrl']}]({data['mirrorUrl']})
|
107 |
+
"""
|
108 |
+
with open(os.path.join(base_folder, "README.md"), "w") as f:
|
109 |
+
f.write(readme)
|
110 |
+
|
111 |
upload_folder(
|
112 |
+
folder_path=base_folder,
|
113 |
repo_id=user_repo_id,
|
114 |
repo_type="model",
|
115 |
path_in_repo=os.path.dirname(dl_path),
|