class Dataset: def __init__(self, settings: Settings, base_path, size, path_csv, is_test): self.settings = settings self.base_path = base_path self.size = int(size) self.path_csv = path_csv self.is_test = is_test if self.size > 0: self.data = pd.read_csv(self.path_csv).head(self.size) else: self.data = pd.read_csv(self.path_csv) self.downloader = Downloader(settings) if is_test: folders_names = ['tmp', ''] else: folders_names = self.data['label'].unique().tolist() + ['tmp'] self.label_to_dir = create_file_structure(self.base_path, folders_names) def download(self): try: for _, row in self.data.iterrows(): self.downloader.execute(row, self.label_to_dir, test=self.is_test) finally: shutil.rmtree(self.label_to_dir['tmp'])
def execute(self, youtube_url, download_folder): #youtube_url = input("Enter Youtube url\n") #download_folder = input("Enter the download folder\n") dw = Downloader(youtube_url, download_folder) print('Downloading the songs ...') yt = dw.execute() print("Starting the conversion to mp3 ...") print(yt.folder_location) print(yt.file_name) au = AudioProcessor(yt.folder_location, '320k', yt.file_name) au.convert_video()