Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -161,34 +161,27 @@ def api_restart_space():
|
|
161 |
@app.route('/get_live_space_status', methods=['GET'])
|
162 |
def get_live_space_status():
|
163 |
"""API route to stream live status of a Hugging Face Space."""
|
164 |
-
space_id = 'Pamudu13/web-scraper'
|
165 |
-
|
166 |
-
if not space_id:
|
167 |
-
return jsonify({'error': 'space_id parameter is required'}), 400
|
168 |
|
169 |
def generate():
|
170 |
-
hfapi = HfApi()
|
171 |
-
|
172 |
while True:
|
173 |
try:
|
174 |
-
#
|
175 |
-
|
176 |
|
177 |
-
# Extract
|
178 |
-
status =
|
179 |
-
|
180 |
|
181 |
# Send the status as a Server-Sent Event
|
182 |
yield f"data: {status}\n\n"
|
183 |
-
|
184 |
-
# Optionally send more detailed info
|
185 |
-
yield f"data: {description}\n\n"
|
186 |
|
187 |
# Delay before checking the status again
|
188 |
-
time.sleep(5) # Adjust polling interval as needed
|
189 |
|
190 |
except Exception as e:
|
191 |
-
# Handle
|
192 |
yield f"data: Error: {str(e)}\n\n"
|
193 |
break # Stop the stream in case of an error
|
194 |
|
@@ -196,6 +189,7 @@ def get_live_space_status():
|
|
196 |
|
197 |
|
198 |
|
|
|
199 |
@app.route('/search_images', methods=['GET'])
|
200 |
def api_search_images():
|
201 |
try:
|
|
|
161 |
@app.route('/get_live_space_status', methods=['GET'])
|
162 |
def get_live_space_status():
|
163 |
"""API route to stream live status of a Hugging Face Space."""
|
164 |
+
space_id = request.args.get('space_id', 'Pamudu13/web-scraper') # Default to 'Pamudu13/web-scraper' if not provided
|
|
|
|
|
|
|
165 |
|
166 |
def generate():
|
|
|
|
|
167 |
while True:
|
168 |
try:
|
169 |
+
# Fetch the current runtime status of the Space
|
170 |
+
space_runtime = hf_api.get_space_runtime(repo_id=space_id)
|
171 |
|
172 |
+
# Extract relevant details
|
173 |
+
status = space_runtime.stage # e.g., 'BUILDING', 'RUNNING', etc.
|
174 |
+
hardware = space_runtime.hardware # e.g., 'cpu-basic', 't4-medium', etc.
|
175 |
|
176 |
# Send the status as a Server-Sent Event
|
177 |
yield f"data: {status}\n\n"
|
178 |
+
yield f"data: {hardware}\n\n"
|
|
|
|
|
179 |
|
180 |
# Delay before checking the status again
|
181 |
+
time.sleep(5) # Adjust polling interval as needed
|
182 |
|
183 |
except Exception as e:
|
184 |
+
# Handle errors and send an error message
|
185 |
yield f"data: Error: {str(e)}\n\n"
|
186 |
break # Stop the stream in case of an error
|
187 |
|
|
|
189 |
|
190 |
|
191 |
|
192 |
+
|
193 |
@app.route('/search_images', methods=['GET'])
|
194 |
def api_search_images():
|
195 |
try:
|