Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -47,13 +47,18 @@ def create_hf_space():
|
|
47 |
space_name = generate_space_name()
|
48 |
full_repo_id = f"Space-Share/{space_name}"
|
49 |
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
|
|
|
|
|
|
|
|
|
|
57 |
|
58 |
# Handle multi-file uploads
|
59 |
for filename, content in files.items():
|
@@ -65,13 +70,18 @@ def create_hf_space():
|
|
65 |
f.write(content)
|
66 |
|
67 |
# Upload to the new Space
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
|
|
|
|
|
|
|
|
|
|
75 |
os.remove(f"temp_{filename}")
|
76 |
|
77 |
# Add requirements.txt if not provided (basic defaults)
|
@@ -84,13 +94,17 @@ def create_hf_space():
|
|
84 |
}.get(space_type, "")
|
85 |
with open("temp_requirements.txt", "w") as f:
|
86 |
f.write(default_requirements)
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
|
|
|
|
|
|
|
|
94 |
os.remove("temp_requirements.txt")
|
95 |
|
96 |
# Special handling for Docker Spaces
|
@@ -105,13 +119,17 @@ CMD ["python", "app.py"]
|
|
105 |
"""
|
106 |
with open("temp_Dockerfile", "w") as f:
|
107 |
f.write(default_dockerfile)
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
|
|
|
|
115 |
os.remove("temp_Dockerfile")
|
116 |
|
117 |
space_url = f"https://huggingface.co/spaces/Space-Share/{space_name}"
|
|
|
47 |
space_name = generate_space_name()
|
48 |
full_repo_id = f"Space-Share/{space_name}"
|
49 |
|
50 |
+
try:
|
51 |
+
# Attempt to create the repository
|
52 |
+
repo_info = create_repo(
|
53 |
+
repo_id=space_name,
|
54 |
+
repo_type="space",
|
55 |
+
space_sdk=space_type,
|
56 |
+
token=HF_TOKEN,
|
57 |
+
private=False,
|
58 |
+
exist_ok=True # Allow creation even if the repo might exist (rare case)
|
59 |
+
)
|
60 |
+
except Exception as e:
|
61 |
+
return jsonify({"error": f"Failed to create repository: {str(e)}"}), 500
|
62 |
|
63 |
# Handle multi-file uploads
|
64 |
for filename, content in files.items():
|
|
|
70 |
f.write(content)
|
71 |
|
72 |
# Upload to the new Space
|
73 |
+
try:
|
74 |
+
upload_file(
|
75 |
+
path_or_fileobj=f"temp_{filename}",
|
76 |
+
path_in_repo=filename,
|
77 |
+
repo_id=full_repo_id,
|
78 |
+
repo_type="space",
|
79 |
+
token=HF_TOKEN
|
80 |
+
)
|
81 |
+
except Exception as e:
|
82 |
+
os.remove(f"temp_{filename}")
|
83 |
+
return jsonify({"error": f"Failed to upload file {filename}: {str(e)}"}), 500
|
84 |
+
|
85 |
os.remove(f"temp_{filename}")
|
86 |
|
87 |
# Add requirements.txt if not provided (basic defaults)
|
|
|
94 |
}.get(space_type, "")
|
95 |
with open("temp_requirements.txt", "w") as f:
|
96 |
f.write(default_requirements)
|
97 |
+
try:
|
98 |
+
upload_file(
|
99 |
+
path_or_fileobj="temp_requirements.txt",
|
100 |
+
path_in_repo="requirements.txt",
|
101 |
+
repo_id=full_repo_id,
|
102 |
+
repo_type="space",
|
103 |
+
token=HF_TOKEN
|
104 |
+
)
|
105 |
+
except Exception as e:
|
106 |
+
os.remove("temp_requirements.txt")
|
107 |
+
return jsonify({"error": f"Failed to upload requirements.txt: {str(e)}"}), 500
|
108 |
os.remove("temp_requirements.txt")
|
109 |
|
110 |
# Special handling for Docker Spaces
|
|
|
119 |
"""
|
120 |
with open("temp_Dockerfile", "w") as f:
|
121 |
f.write(default_dockerfile)
|
122 |
+
try:
|
123 |
+
upload_file(
|
124 |
+
path_or_fileobj="temp_Dockerfile",
|
125 |
+
path_in_repo="Dockerfile",
|
126 |
+
repo_id=full_repo_id,
|
127 |
+
repo_type="space",
|
128 |
+
token=HF_TOKEN
|
129 |
+
)
|
130 |
+
except Exception as e:
|
131 |
+
os.remove("temp_Dockerfile")
|
132 |
+
return jsonify({"error": f"Failed to upload Dockerfile: {str(e)}"}), 500
|
133 |
os.remove("temp_Dockerfile")
|
134 |
|
135 |
space_url = f"https://huggingface.co/spaces/Space-Share/{space_name}"
|