Keane Moraes commited on
Commit
6d16da3
·
1 Parent(s): ed57fa6

better way of getting youtube information

Browse files
Files changed (2) hide show
  1. app.py +7 -0
  2. transcription.py +5 -10
app.py CHANGED
@@ -23,6 +23,13 @@ from takeaways import KeyTakeaways
23
  from mindmap import MindMap
24
  import models as md
25
 
 
 
 
 
 
 
 
26
 
27
  REGEXP_YOUTUBE_URL = "^(https?\:\/\/)?((www\.)?youtube\.com|youtu\.be)\/.+$"
28
 
 
23
  from mindmap import MindMap
24
  import models as md
25
 
26
+ def get_initial_message():
27
+ messages=[
28
+ {"role": "system", "content": "You are a helpful AI Tutor. Who anwers brief questions about AI."},
29
+ {"role": "user", "content": "I want to learn AI"},
30
+ {"role": "assistant", "content": "Thats awesome, what do you want to know aboout AI"}
31
+ ]
32
+ return messages
33
 
34
  REGEXP_YOUTUBE_URL = "^(https?\:\/\/)?((www\.)?youtube\.com|youtu\.be)\/.+$"
35
 
transcription.py CHANGED
@@ -4,6 +4,7 @@ from moviepy.editor import *
4
  from pydub import AudioSegment
5
  from pydub.utils import make_chunks
6
  import pydub
 
7
  from pathlib import Path
8
  import subprocess
9
 
@@ -42,21 +43,15 @@ class DownloadAudio:
42
 
43
  def __init__(self, link) -> None:
44
  self.link = link
45
- self.yt = YouTube(self.link)
 
 
46
  self.YOUTUBE_VIDEO_ID = link.split("=")[1]
47
  self.WAV_FILE_NAME = f"{self.YOUTUBE_VIDEO_ID}.wav"
48
 
49
  def get_yt_title(self) -> str:
50
  """Returns the title of the youtube video"""
51
- while True:
52
- try:
53
- title = self.yt.title
54
- return title
55
- except:
56
- print("Failed to get name. Retrying...")
57
- time.sleep(1)
58
- self.yt = YouTube(self.link)
59
- continue
60
 
61
  def download(self, pathname:str) -> str:
62
  """
 
4
  from pydub import AudioSegment
5
  from pydub.utils import make_chunks
6
  import pydub
7
+ from yt_dlp import YoutubeDL
8
  from pathlib import Path
9
  import subprocess
10
 
 
43
 
44
  def __init__(self, link) -> None:
45
  self.link = link
46
+ with YoutubeDL() as ydl:
47
+ self.yt = ydl.extract_info(self.link, download=False)
48
+
49
  self.YOUTUBE_VIDEO_ID = link.split("=")[1]
50
  self.WAV_FILE_NAME = f"{self.YOUTUBE_VIDEO_ID}.wav"
51
 
52
  def get_yt_title(self) -> str:
53
  """Returns the title of the youtube video"""
54
+ return self.yt["title"]
 
 
 
 
 
 
 
 
55
 
56
  def download(self, pathname:str) -> str:
57
  """