Spaces:
Running
Running
Update app.py
Browse files
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 |
-
|
|
|
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):
|