AIRider commited on
Commit
bd83a36
·
verified ·
1 Parent(s): c112a21

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -3
app.py CHANGED
@@ -36,24 +36,36 @@ def get_youtube_transcript(youtube_url):
36
  "x-rapidapi-host": AA_HOST
37
  }
38
 
 
 
39
  # 언어 우선순위에 따라 순차적으로 요청을 시도
40
  for lang in LANGUAGE_PRIORITY:
41
  querystring = {"video_id": video_id, "lang": lang}
42
  response = requests.get(url, headers=headers, params=querystring)
43
 
 
 
44
  # 상태 코드 확인 및 전체 응답 반환
45
  if response.status_code == 200:
46
  try:
47
  data = response.json()
 
 
 
 
 
 
 
48
 
49
  # 전체 응답 데이터를 그대로 반환
50
- return {"language": lang, "data": data}
51
 
52
  except json.JSONDecodeError as e:
53
- return {"error": f"JSON 디코딩 오류 발생: {str(e)}"}
 
54
 
55
  # 모든 언어에서 자막을 찾지 못한 경우
56
- return {"error": "우선순위 언어로 자막을 찾을 수 없습니다."}
57
 
58
  # Gradio 인터페이스 정의
59
  def youtube_transcript_interface(youtube_url):
 
36
  "x-rapidapi-host": AA_HOST
37
  }
38
 
39
+ debug_info = []
40
+
41
  # 언어 우선순위에 따라 순차적으로 요청을 시도
42
  for lang in LANGUAGE_PRIORITY:
43
  querystring = {"video_id": video_id, "lang": lang}
44
  response = requests.get(url, headers=headers, params=querystring)
45
 
46
+ debug_info.append(f"Language: {lang}, Status Code: {response.status_code}")
47
+
48
  # 상태 코드 확인 및 전체 응답 반환
49
  if response.status_code == 200:
50
  try:
51
  data = response.json()
52
+ debug_info.append(f"Response data type: {type(data)}")
53
+ debug_info.append(f"Response data: {data[:100]}...") # 처음 100자만 출력
54
+
55
+ # 응답이 비어있거나 예상치 못한 형식인 경우 처리
56
+ if not data or (isinstance(data, dict) and not data.get('transcript')):
57
+ debug_info.append(f"No transcript found for language: {lang}")
58
+ continue
59
 
60
  # 전체 응답 데이터를 그대로 반환
61
+ return {"language": lang, "data": data, "debug_info": debug_info}
62
 
63
  except json.JSONDecodeError as e:
64
+ debug_info.append(f"JSON decoding error: {str(e)}")
65
+ continue
66
 
67
  # 모든 언어에서 자막을 찾지 못한 경우
68
+ return {"error": "우선순위 언어로 자막을 찾을 수 없습니다.", "debug_info": debug_info}
69
 
70
  # Gradio 인터페이스 정의
71
  def youtube_transcript_interface(youtube_url):