Miszmisz commited on
Commit
018b6b4
·
1 Parent(s): 7211343

add request input class for stringified json

Browse files
Files changed (1) hide show
  1. main.py +9 -2
main.py CHANGED
@@ -19,6 +19,9 @@ temp_dir = '/tmp/'
19
  # Initialize an S3 client
20
  s3_client = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name=aws_region)
21
 
 
 
 
22
  class CutRequest(BaseModel):
23
  quote_filename: str
24
  segments: list[tuple[float, float]]
@@ -50,9 +53,11 @@ def download_file(news_name: str, quote_filename: str, new_filename: str = "sour
50
 
51
 
52
  @app.post("/cut-audio")
53
- async def cut_audio(request: CutRequest = Body(...)):
54
  try:
55
- cut_request = request
 
 
56
 
57
  download_file(cut_request.news_name, cut_request.quote_filename)
58
  for i, segment in enumerate(cut_request.segments):
@@ -75,6 +80,8 @@ async def cut_audio(request: CutRequest = Body(...)):
75
 
76
  return {"message": "Audio cut successfully"}
77
 
 
 
78
  except ValueError as e:
79
  raise HTTPException(status_code=422, detail=str(e))
80
 
 
19
  # Initialize an S3 client
20
  s3_client = boto3.client('s3', aws_access_key_id=aws_access_key_id, aws_secret_access_key=aws_secret_access_key, region_name=aws_region)
21
 
22
+ class CutRequestInput(BaseModel):
23
+ data: str
24
+
25
  class CutRequest(BaseModel):
26
  quote_filename: str
27
  segments: list[tuple[float, float]]
 
53
 
54
 
55
  @app.post("/cut-audio")
56
+ async def cut_audio(request: CutRequestInput):
57
  try:
58
+ data = json.loads(request.data)
59
+
60
+ cut_request = CutRequest(**data)
61
 
62
  download_file(cut_request.news_name, cut_request.quote_filename)
63
  for i, segment in enumerate(cut_request.segments):
 
80
 
81
  return {"message": "Audio cut successfully"}
82
 
83
+ except json.JSONDecodeError as e:
84
+ raise HTTPException(status_code=400, detail=f"Invalid JSON: {str(e)}")
85
  except ValueError as e:
86
  raise HTTPException(status_code=422, detail=str(e))
87