|
|
|
@ -7,6 +7,7 @@ import platform
|
|
|
|
|
from dotenv import load_dotenv |
|
|
|
|
from requests.exceptions import HTTPError |
|
|
|
|
from tqdm import tqdm |
|
|
|
|
from youtube_transcript_api import YouTubeTranscriptApi |
|
|
|
|
|
|
|
|
|
current_directory = os.path.dirname(os.path.realpath(__file__)) |
|
|
|
|
config_directory = os.path.expanduser("~/.config/fabric") |
|
|
|
@ -369,3 +370,35 @@ class Setup:
|
|
|
|
|
apikey = input("Please enter your OpenAI API key\n") |
|
|
|
|
self.api_key(apikey.strip()) |
|
|
|
|
self.patterns() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class Transcribe: |
|
|
|
|
def youtube(video_id): |
|
|
|
|
""" |
|
|
|
|
This method gets the transciption |
|
|
|
|
of a YouTube video designated with the video_id |
|
|
|
|
|
|
|
|
|
Input: |
|
|
|
|
the video id specifing a YouTube video |
|
|
|
|
an example url for a video: https://www.youtube.com/watch?v=vF-MQmVxnCs&t=306s |
|
|
|
|
the video id is vF-MQmVxnCs&t=306s |
|
|
|
|
|
|
|
|
|
Output: |
|
|
|
|
a transcript for the video |
|
|
|
|
|
|
|
|
|
Raises: |
|
|
|
|
an exception and prints error |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
|
|
try: |
|
|
|
|
transcript_list = YouTubeTranscriptApi.get_transcript(video_id) |
|
|
|
|
transcript = "" |
|
|
|
|
for segment in transcript_list: |
|
|
|
|
transcript += segment['text'] + " " |
|
|
|
|
return transcript.strip() |
|
|
|
|
except Exception as e: |
|
|
|
|
print("Error:", e) |
|
|
|
|
return None |
|
|
|
|
|
|
|
|
|
|
|
|
|
|