Best Python code snippet using toolium_python
youtube.py
Source:youtube.py
...14 self.quality = quality15 self.youtube = Playlist(link) if playlist else YouTube(link)16 self.download_path = './downloads/'17 self.convert = convert18 def _download_video(self, video):19 if self.quality == 'highest':20 21 download = video.streams.filter(progressive=True).get_highest_resolution()22 print('Downloading highest resolution')23 24 else:25 download = video.streams.filter(progressive=True, res=self.quality, subtype='mp4')26 if len(download) == 0:27 print('Quality specified is not present, downloading highest resolution available')28 download = video.streams.filter(progressive=True).get_highest_resolution()29 else:30 print('Quality specified was found, downloading')31 download = download.first()32 download.download(output_path=self.download_path)33 def _download_audio(self, video, convert):34 audio = video.streams.filter(only_audio=True, subtype='mp4').first()35 print('Downloading audio file')36 if convert:37 path = audio.download()38 path = Path(path)39 audio_path = path.name40 filename = path.stem41 audiomp3 = AudioSegment.from_file(audio_path)42 audiomp3.export(self.download_path + filename + '.mp3', format='mp3')43 os.remove(audio_path)44 else:45 audio.download(output_path=self.download_path, filename_prefix='only_audio')46 def _download_playlist(self):47 for video in self.youtube.videos:48 try:49 if self.audio:50 self._download_audio(video, self.convert)51 if self.video:52 self._download_video(video)53 except exceptions.VideoUnavailable:54 print(f'Video {url} is unavailable, skipping')55 def download(self):56 if self.playlist:57 self._download_playlist()58 else:59 video = self.youtube60 if self.audio:61 self._download_audio(video, self.convert)62 if self.video:63 self._download_video(video)64 def get_resolutions(self):65 streams = self.youtube.streams.filter(progressive=True)66 resolutions = [stream.resolution for stream in streams]67 return resolutions68if __name__ == "__main__":...
ytutil.py
Source:ytutil.py
1import json2import subprocess3from os.path import join4from pathlib import Path5def _download_video(search_str, path_str="."):6 path = Path(path_str)7 print(path.absolute())8 if not path.exists():9 path.mkdir()10 if not path.is_dir():11 raise ValueError("path_str must not be a directory!")12 return subprocess.Popen(["python3", "-m", "youtube_dl", "--print-json", "--default-search", "ytsearch", search_str],13 cwd=str(path.absolute()), stdout=subprocess.PIPE, stderr=subprocess.DEVNULL,14 stdin=subprocess.DEVNULL)15def download(search_str, on_success, on_fail, path_str="./.download-cache"):16 """17 :param search_str: The text to search18 :param on_success: A callable object that takes one argument: The path to the file19 :param on_fail: A callable object that takes no arguments.20 :param path_str: The directory that the file will be downloaded to21 """22 process = _download_video(search_str, path_str)23 try:24 code = process.wait(20) # a maximum time of 20 seconds to download25 except subprocess.TimeoutExpired:26 on_fail()27 return28 json_str = process.stdout.read()29 try:30 info = json.loads(json_str)31 except json.decoder.JSONDecodeError:32 on_fail()33 return34 if code == 0:35 on_success(join(path_str, info["_filename"]), info)36 else:...
process_dig_person.py
Source:process_dig_person.py
...14def get_data(txt):15 link = open(txt, 'r').readlines()[1].rstrip()16 video_dir, video_name = os.path.split(txt)17 video_name = video_name.split('.')[0]18 _download_video(link, os.path.join(video_dir, video_name + '.mp4'))19def _download_video(url, output_dir):20 headers = {21 "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36 ",22 }23 video_code = -124 ind = 025 while not os.path.isfile(output_dir):26 # while video_code == 200:27 video = requests.get(url, headers=headers)28 video_code = video.status_code29 with open(output_dir, "wb") as video_file:30 video_file.write(video.content)31if __name__ == '__main__':...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!