From 92442de38dc903c1d11bae63a739f40e58137a79 Mon Sep 17 00:00:00 2001 From: Xevion Date: Tue, 24 Dec 2019 19:37:34 -0600 Subject: [PATCH] made changes to remove access of youtube API again, moved to output template system without os.rename hopefully this can avoid the annoying 429 calls :+1: --- app/sound_models.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/app/sound_models.py b/app/sound_models.py index 08411ce..7c03273 100644 --- a/app/sound_models.py +++ b/app/sound_models.py @@ -34,12 +34,9 @@ class YouTubeAudio(db.Model): def fill_metadata(self): print(f'Filling out metadata for {self.id}') # Use stdout=PIPE, [Python 3.6] production server support instead of 'capture_output=True' => 'process.stdout' - self.url = f'https://www.youtube.com/watch?v={self.id}' - processFilename = subprocess.Popen(f'youtube-dl -4 -x --audio-format mp3 --restrict-filenames --get-filename {self.url}'.split(' '), - encoding='utf-8', stdout=subprocess.PIPE) - self.filename = processFilename.communicate()[0].split('.')[0] + '.mp3' + self.filename = self.id + '.mp3' print(f'Filename acquired for {self.id}') - processJSON = subprocess.Popen(f'youtube-dl -4 -x --audio-format mp3 --restrict-filenames --dump-json {self.url}'.split(' '), + processJSON = subprocess.Popen(f'youtube-dl -4 -x --audio-format mp3 --restrict-filenames --dump-json {self.id}'.split(' '), encoding='utf-8', stdout=subprocess.PIPE) data = json.loads(processJSON.communicate()[0]) print(f'JSON acquired for {self.id}, beginning to fill.') @@ -52,8 +49,8 @@ class YouTubeAudio(db.Model): def download(self): print(f'Downloading MP3 for {self.id}') - subprocess.run(['youtube-dl', '-x', '--restrict-filenames', '--audio-format', 'mp3', self.id]) - os.rename(self.filename, self.getPath()) + subprocess.run(f'youtube-dl -x --restrict-filenames --audio-format mp3 -o ./app/sounds/youtube/%(id)s.%(ext)s {self.id}'.split(' ')) + # os.rename(self.filename, self.getPath()) print(f'Finished moving {self.id} into proper folder') class SoundcloudAudio(db.Model):