Pamudu13 commited on
Commit
6f31366
·
verified ·
1 Parent(s): 86e3d75

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +23 -19
app.py CHANGED
@@ -12,6 +12,7 @@ from io import BytesIO
12
  from googlesearch import search
13
  import logging
14
  import queue
 
15
 
16
  # Create a logging filter to suppress socket warnings
17
  class SocketWarningFilter(logging.Filter):
@@ -126,33 +127,36 @@ def search_images(query, num_images=5):
126
 
127
  HF_TOKEN = os.getenv("HF_TOKEN") # Make sure you set the HF_TOKEN in your environment
128
 
129
- def restart_space(space_id):
130
- """Restart a Hugging Face Space using the API."""
131
- api_url = f"https://api.huggingface.co/spaces/{space_id}/restart" # Corrected API endpoint for restarting Spaces
132
- headers = {"Authorization": f"Bearer {HF_TOKEN}"}
133
- try:
134
- response = requests.post(api_url, headers=headers)
135
- if response.status_code == 200:
136
- logger.info(f"Successfully restarted Space: {space_id}")
137
- return jsonify({"success": True, "message": f"Successfully restarted Space: {space_id}"}), 200
138
- else:
139
- logger.error(f"Failed to restart Space: {space_id} - {response.status_code} - {response.text}")
140
- return jsonify({"success": False, "message": f"Failed to restart Space: {space_id} - {response.status_code} - {response.text}"}), 500
141
- except Exception as e:
142
- logger.error(f"Error restarting space: {str(e)}")
143
- return jsonify({"success": False, "message": f"Error: {str(e)}"}), 500
144
-
145
  @app.route('/restart_space', methods=['POST'])
146
  def api_restart_space():
147
  """API route to restart a Hugging Face Space."""
148
  space_id = 'Pamudu13/web-scraper'
149
-
150
- # Expecting the space_id in the JSON body
151
 
152
  if not space_id:
153
  return jsonify({'error': 'space_id parameter is required'}), 400
154
 
155
- return restart_space(space_id)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
 
157
  @app.route('/search_images', methods=['GET'])
158
  def api_search_images():
 
12
  from googlesearch import search
13
  import logging
14
  import queue
15
+ from huggingface_hub import HfApi
16
 
17
  # Create a logging filter to suppress socket warnings
18
  class SocketWarningFilter(logging.Filter):
 
127
 
128
  HF_TOKEN = os.getenv("HF_TOKEN") # Make sure you set the HF_TOKEN in your environment
129
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  @app.route('/restart_space', methods=['POST'])
131
  def api_restart_space():
132
  """API route to restart a Hugging Face Space."""
133
  space_id = 'Pamudu13/web-scraper'
134
+ factory_reboot = request.json.get('factory_reboot', False) # Optional: Set to True if you want a factory reboot
 
135
 
136
  if not space_id:
137
  return jsonify({'error': 'space_id parameter is required'}), 400
138
 
139
+ try:
140
+ hfapi = HfApi()
141
+
142
+ # Call the restart_space method
143
+ res = hfapi.restart_space(
144
+ space_id,
145
+ token=HF_TOKEN,
146
+ factory_reboot=factory_reboot
147
+ )
148
+
149
+ return jsonify({
150
+ 'success': True,
151
+ 'message': f"Successfully restarted Space: {space_id}",
152
+ 'response': res
153
+ }), 200
154
+
155
+ except Exception as e:
156
+ return jsonify({
157
+ 'success': False,
158
+ 'message': f"Error: {str(e)}"
159
+ }), 500
160
 
161
  @app.route('/search_images', methods=['GET'])
162
  def api_search_images():