smjain commited on
Commit
056048b
1 Parent(s): 7b9c3a3

Upload infer_serverless.py

Browse files
Files changed (1) hide show
  1. infer_serverless.py +11 -29
infer_serverless.py CHANGED
@@ -14,7 +14,7 @@ from scipy.io import wavfile
14
  from datetime import datetime
15
  from urllib.parse import urlparse
16
  from mega import Mega
17
- from flask import Flask, request, jsonify, send_file,render_template
18
  import base64
19
  import tempfile
20
  import threading
@@ -28,7 +28,7 @@ from threading import Lock
28
  from multiprocessing import Process, SimpleQueue, set_start_method,get_context
29
  from queue import Empty
30
  from pydub import AudioSegment
31
- from flask_dance.contrib.google import make_google_blueprint, google
32
  import io
33
  import runpod
34
  import boto3
@@ -78,13 +78,6 @@ f0method_mode = ["pm", "harvest", "crepe"]
78
  f0method_info = "PM is fast, Harvest is good but extremely slow, and Crepe effect is good but requires GPU (Default: PM)"
79
 
80
 
81
- def index():
82
- # Check if user is logged in
83
- return render_template("ui.html")
84
- #if google.authorized:
85
- # return render_template("index.html", logged_in=True)
86
- #else:
87
- # return render_template("index.html", logged_in=False)
88
 
89
 
90
 
@@ -181,14 +174,14 @@ def upload_file(local_file_path,bucket_name):
181
  response=client.upload_file(local_file_path, bucket_name, filename)
182
 
183
  except client.exceptions.NoSuchKey:
184
- return jsonify({'error': 'File not found in the bucket'}), 404
185
  except Exception as e:
186
- return jsonify({'error': str(e)}), 500
187
 
188
  # Optional: Send the file directly to the client
189
  # return send_file(local_file_path, as_attachment=True)
190
 
191
- return jsonify({'success': True, 'message': 'File downloaded successfully', 'file_path': local_file_path})
192
 
193
 
194
 
@@ -216,22 +209,17 @@ def download_file(filename,bucket_name):
216
  try:
217
  client.download_file(bucket_name, object_key, local_file_path)
218
  except client.exceptions.NoSuchKey:
219
- return jsonify({'error': 'File not found in the bucket'}), 404
220
  except Exception as e:
221
- return jsonify({'error': str(e)}), 500
222
 
223
  # Optional: Send the file directly to the client
224
  # return send_file(local_file_path, as_attachment=True)
225
 
226
- return jsonify({'success': True, 'message': 'File downloaded successfully', 'file_path': local_file_path})
227
 
228
 
229
- def list_weights():
230
- directory = 'weights'
231
- files = os.listdir(directory)
232
- # Extract filenames without their extensions
233
- filenames = [os.path.splitext(file)[0] for file in files if os.path.isfile(os.path.join(directory, file))]
234
- return jsonify(filenames)
235
 
236
 
237
 
@@ -242,7 +230,7 @@ def get_status(audio_id):
242
  # Retrieve the task status using the unique ID
243
  print(audio_id)
244
  status_info = task_status_tracker.get(audio_id, {"status": "Unknown ID", "percentage": 0})
245
- return jsonify({"audio_id": audio_id, "status": status_info["status"], "percentage": status_info["percentage"]})
246
 
247
  processed_audio_storage = {}
248
 
@@ -250,7 +238,7 @@ def api_convert_voice(filename,spk_id1,unique_id):
250
  acquired = request_semaphore.acquire(blocking=False)
251
 
252
  if not acquired:
253
- return jsonify({"error": "Too many requests, please try again later"}), 429
254
  #task_status_tracker[unique_id] = {"status": "Starting", "percentage": 0}
255
  try:
256
 
@@ -364,12 +352,6 @@ def get_vc_safe(sid, to_return_protect0):
364
 
365
 
366
 
367
- def get_processed_audio(audio_id):
368
- # Retrieve the path from temporary storage or session
369
- if audio_id in processed_audio_storage:
370
- file_path = processed_audio_storage[audio_id]
371
- return send_file(file_path, as_attachment=True)
372
- return jsonify({"error": "File not found."}), 404
373
 
374
  def worker(spk_id, input_audio_path, voice_transform, unique_id, output_queue):
375
  try:
 
14
  from datetime import datetime
15
  from urllib.parse import urlparse
16
  from mega import Mega
17
+
18
  import base64
19
  import tempfile
20
  import threading
 
28
  from multiprocessing import Process, SimpleQueue, set_start_method,get_context
29
  from queue import Empty
30
  from pydub import AudioSegment
31
+
32
  import io
33
  import runpod
34
  import boto3
 
78
  f0method_info = "PM is fast, Harvest is good but extremely slow, and Crepe effect is good but requires GPU (Default: PM)"
79
 
80
 
 
 
 
 
 
 
 
81
 
82
 
83
 
 
174
  response=client.upload_file(local_file_path, bucket_name, filename)
175
 
176
  except client.exceptions.NoSuchKey:
177
+ return "error: File not found in the bucket"
178
  except Exception as e:
179
+ return "error: File not found in the bucket"
180
 
181
  # Optional: Send the file directly to the client
182
  # return send_file(local_file_path, as_attachment=True)
183
 
184
+ return "success"
185
 
186
 
187
 
 
209
  try:
210
  client.download_file(bucket_name, object_key, local_file_path)
211
  except client.exceptions.NoSuchKey:
212
+ return "file not in buecket"
213
  except Exception as e:
214
+ return "exception"
215
 
216
  # Optional: Send the file directly to the client
217
  # return send_file(local_file_path, as_attachment=True)
218
 
219
+ return "success"
220
 
221
 
222
+
 
 
 
 
 
223
 
224
 
225
 
 
230
  # Retrieve the task status using the unique ID
231
  print(audio_id)
232
  status_info = task_status_tracker.get(audio_id, {"status": "Unknown ID", "percentage": 0})
233
+ return "status"
234
 
235
  processed_audio_storage = {}
236
 
 
238
  acquired = request_semaphore.acquire(blocking=False)
239
 
240
  if not acquired:
241
+ return "error in lock"
242
  #task_status_tracker[unique_id] = {"status": "Starting", "percentage": 0}
243
  try:
244
 
 
352
 
353
 
354
 
 
 
 
 
 
 
355
 
356
  def worker(spk_id, input_audio_path, voice_transform, unique_id, output_queue):
357
  try: