JUNGU commited on
Commit
24238f5
·
verified ·
1 Parent(s): 63ef4f6

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -0
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from youtube_worksheet import YouTubeWorksheet
2
+ from dotenv import load_dotenv
3
+ import gradio as gr
4
+ import os
5
+
6
+ def process_video(url):
7
+ # 환경변수에서 API 키 가져오기
8
+ API_KEY = os.getenv('GEMINI_API_KEY')
9
+
10
+ if not API_KEY:
11
+ return "ERROR: GEMINI_API_KEY가 설정되지 않았습니다.", None
12
+
13
+ worksheet = YouTubeWorksheet(API_KEY)
14
+
15
+ # 자막 추출
16
+ transcript = worksheet.get_transcript(url)
17
+ if not transcript:
18
+ return "자막을 추출할 수 없습니다.", None
19
+
20
+ # 워크시트 생성
21
+ content = worksheet.create_worksheet(transcript)
22
+
23
+ # DOCX 파일로 저장
24
+ output_file = worksheet.save_to_docx(content)
25
+
26
+ return f"워크시트가 생성되었습니다. 파일명: {output_file}", output_file
27
+
28
+ # Gradio 인터페이스 생성
29
+ load_dotenv()
30
+ iface = gr.Interface(
31
+ fn=process_video,
32
+ inputs=[gr.Textbox(label="YouTube URL을 입력하세요", placeholder="https://www.youtube.com/watch?v=...")],
33
+ outputs=[
34
+ gr.Textbox(label="처리 결과"),
35
+ gr.File(label="생성된 워크시트")
36
+ ],
37
+ title="YouTube 학습 워크시트 생성기",
38
+ description="YouTube 영상의 자막을 이용하여 학습 워크시트를 생성합니다."
39
+ )
40
+
41
+ if __name__ == "__main__":
42
+ iface.launch()