Spaces:
Running
on
Zero
Running
on
Zero
Update storage
Browse files- utils/constants.py +14 -7
- utils/storage.md +3 -1
- utils/storage.py +8 -2
utils/constants.py
CHANGED
@@ -67,11 +67,6 @@ SCALE_FACTOR = (12/5)
|
|
67 |
TMPDIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tmp')
|
68 |
os.makedirs(TMPDIR, exist_ok=True)
|
69 |
|
70 |
-
model_extensions = {".glb", ".gltf", ".obj", ".ply"}
|
71 |
-
model_extensions_list = list(model_extensions)
|
72 |
-
image_extensions = {".png", ".jpg", ".jpeg", ".webp"}
|
73 |
-
image_extensions_list = list(image_extensions)
|
74 |
-
upload_file_types = model_extensions_list + image_extensions_list
|
75 |
|
76 |
|
77 |
PROMPTS = {
|
@@ -678,5 +673,17 @@ card_colors_alternating = [
|
|
678 |
]
|
679 |
|
680 |
# Constants for URL shortener
|
681 |
-
HF_REPO_ID = "
|
682 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
TMPDIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'tmp')
|
68 |
os.makedirs(TMPDIR, exist_ok=True)
|
69 |
|
|
|
|
|
|
|
|
|
|
|
70 |
|
71 |
|
72 |
PROMPTS = {
|
|
|
673 |
]
|
674 |
|
675 |
# Constants for URL shortener
|
676 |
+
HF_REPO_ID = os.getenv("HF_REPO_ID")
|
677 |
+
if not HF_REPO_ID:
|
678 |
+
HF_REPO_ID = "Surn/Storage" # Replace with your Hugging Face repository ID
|
679 |
+
SHORTENER_JSON_FILE = "shortener.json"
|
680 |
+
|
681 |
+
model_extensions = {".glb", ".gltf", ".obj", ".ply"}
|
682 |
+
model_extensions_list = list(model_extensions)
|
683 |
+
image_extensions = {".png", ".jpg", ".jpeg", ".webp"}
|
684 |
+
image_extensions_list = list(image_extensions)
|
685 |
+
audio_extensions = {".mp3", ".wav", ".ogg", ".flac", ".aac"}
|
686 |
+
audio_extensions_list = list(audio_extensions)
|
687 |
+
video_extensions = {".mp4"}
|
688 |
+
video_extensions_list = list(video_extensions)
|
689 |
+
upload_file_types = model_extensions_list + image_extensions_list + audio_extensions_list + video_extensions_list
|
utils/storage.md
CHANGED
@@ -4,6 +4,8 @@ The `storage.py` module provides helper functions for:
|
|
4 |
- Generating permalinks for 3D viewer projects.
|
5 |
- Uploading files in batches to a Hugging Face repository.
|
6 |
- Managing URL shortening by storing (short URL, full URL) pairs in a JSON file on the repository.
|
|
|
|
|
7 |
|
8 |
## Key Functions
|
9 |
|
@@ -53,7 +55,7 @@ files_for_permalink = [
|
|
53 |
"local/path/to/heightmap.png",
|
54 |
"local/path/to/image.png"
|
55 |
]
|
56 |
-
repo_id = "Surn/Storage" # Make sure this is defined, e.g., from constants
|
57 |
folder_name = "my_new_model_with_permalink"
|
58 |
|
59 |
upload_result = upload_files_to_repo(
|
|
|
4 |
- Generating permalinks for 3D viewer projects.
|
5 |
- Uploading files in batches to a Hugging Face repository.
|
6 |
- Managing URL shortening by storing (short URL, full URL) pairs in a JSON file on the repository.
|
7 |
+
- Retrieving full URLs from short URL IDs and vice versa.
|
8 |
+
- Handle specific file types for 3D models, images, video and audio.
|
9 |
|
10 |
## Key Functions
|
11 |
|
|
|
55 |
"local/path/to/heightmap.png",
|
56 |
"local/path/to/image.png"
|
57 |
]
|
58 |
+
repo_id = "Surn/Storage" # Make sure this is defined, e.g., from constants or environment variables
|
59 |
folder_name = "my_new_model_with_permalink"
|
60 |
|
61 |
upload_result = upload_files_to_repo(
|
utils/storage.py
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
# utils/storage.py
|
2 |
-
__version__ = "0.1.
|
3 |
import os
|
4 |
import urllib.parse
|
5 |
import tempfile
|
@@ -8,7 +8,7 @@ import json
|
|
8 |
import base64
|
9 |
from huggingface_hub import login, upload_folder, hf_hub_download, HfApi
|
10 |
from huggingface_hub.utils import RepositoryNotFoundError, EntryNotFoundError
|
11 |
-
from utils.constants import HF_API_TOKEN, upload_file_types, model_extensions, image_extensions, HF_REPO_ID, SHORTENER_JSON_FILE
|
12 |
from typing import Any, Dict, List, Tuple, Union
|
13 |
|
14 |
# see storage.md for detailed information about the storage module and its functions.
|
@@ -21,6 +21,8 @@ def generate_permalink(valid_files, base_url_external, permalink_viewer_url="sur
|
|
21 |
"""
|
22 |
model_link = None
|
23 |
images_links = []
|
|
|
|
|
24 |
for f in valid_files:
|
25 |
filename = os.path.basename(f)
|
26 |
ext = os.path.splitext(filename)[1].lower()
|
@@ -29,6 +31,10 @@ def generate_permalink(valid_files, base_url_external, permalink_viewer_url="sur
|
|
29 |
model_link = f"{base_url_external}/{filename}"
|
30 |
elif ext in image_extensions:
|
31 |
images_links.append(f"{base_url_external}/{filename}")
|
|
|
|
|
|
|
|
|
32 |
if model_link and len(images_links) == 2:
|
33 |
# Construct a permalink to the viewer project with query parameters.
|
34 |
permalink_viewer_url = f"https://{permalink_viewer_url}/"
|
|
|
1 |
# utils/storage.py
|
2 |
+
__version__ = "0.1.1" # Added version
|
3 |
import os
|
4 |
import urllib.parse
|
5 |
import tempfile
|
|
|
8 |
import base64
|
9 |
from huggingface_hub import login, upload_folder, hf_hub_download, HfApi
|
10 |
from huggingface_hub.utils import RepositoryNotFoundError, EntryNotFoundError
|
11 |
+
from utils.constants import HF_API_TOKEN, upload_file_types, model_extensions, image_extensions, audio_extensions, video_extensions, HF_REPO_ID, SHORTENER_JSON_FILE
|
12 |
from typing import Any, Dict, List, Tuple, Union
|
13 |
|
14 |
# see storage.md for detailed information about the storage module and its functions.
|
|
|
21 |
"""
|
22 |
model_link = None
|
23 |
images_links = []
|
24 |
+
audio_links = []
|
25 |
+
video_links = []
|
26 |
for f in valid_files:
|
27 |
filename = os.path.basename(f)
|
28 |
ext = os.path.splitext(filename)[1].lower()
|
|
|
31 |
model_link = f"{base_url_external}/{filename}"
|
32 |
elif ext in image_extensions:
|
33 |
images_links.append(f"{base_url_external}/{filename}")
|
34 |
+
elif ext in audio_extensions:
|
35 |
+
audio_links.append(f"{base_url_external}/{filename}")
|
36 |
+
elif ext in video_extensions:
|
37 |
+
video_links.append(f"{base_url_external}/{filename}")
|
38 |
if model_link and len(images_links) == 2:
|
39 |
# Construct a permalink to the viewer project with query parameters.
|
40 |
permalink_viewer_url = f"https://{permalink_viewer_url}/"
|