def download_goodie(qobuz_upload, index): goodie = qobuz_upload.album_data['goodies'][index] if not goodie['original_url'].endswith('.pdf'): raise Exception('Weird goodie') goodie_path = os.path.join(qobuz_upload.temp_media_path, '{0}.pdf'.format( fix_filepath(goodie['description']) )) print 'Downloading', goodie['original_url'] response = requests.get(goodie['original_url']) response.raise_for_status() assert len(response.content) > 1000 with open(goodie_path, 'wb') as f: f.write(response.content)
def download_track(qobuz_client, qobuz_upload, index, track_number): qobuz_track = qobuz_upload.album_data['tracks']['items'][index] track = qobuz_upload.track_data[index] total_medias = qobuz_upload.album_data['tracks']['items'][-1][ 'media_number'] total_tracks = sum(qobuz_track['media_number'] == t['media_number'] for t in qobuz_upload.album_data['tracks']['items']) if total_medias > 1: file_name = u'{0}.{1:02d}. {2}.flac'.format( qobuz_track['media_number'], track_number, fix_filepath(track['title'])) else: file_name = u'{0:02d}. {1}.flac'.format(track_number, fix_filepath(track['title'])) file_path = os.path.join(qobuz_upload.temp_media_path, file_name) track['path'] = file_path # Download track_info = qobuz_client.get_file_url(qobuz_track['id'], '6') assert track_info['mime_type'] == u'audio/flac' print 'Downloading', track_info['url'] response = requests.get(track_info['url']) response.raise_for_status() assert len(response.content) > 100000 with open(file_path, 'wb') as f: f.write(response.content) if call(['flac', '-t', file_path]) != 0: raise Exception('flac -t returned non-zero') meta_file = FLAC(file_path) meta_file['album'] = qobuz_upload.album_name meta_file['albumartist'] = qobuz_upload.artists meta_file['artist'] = track['artists'] meta_file['title'] = track['title'] meta_file['date'] = qobuz_upload.album_year meta_file['genre'] = qobuz_upload.album_data['genre']['name'] meta_file['tracknumber'] = str(track_number) meta_file['totaltracks'] = str(total_tracks) meta_file['discnumber'] = str(track['media_number']) meta_file['totaldiscs'] = str(total_medias) meta_file.save()
def download_track(qobuz_client, qobuz_upload, index, track_number): qobuz_track = qobuz_upload.album_data['tracks']['items'][index] track = qobuz_upload.track_data[index] total_medias = qobuz_upload.album_data['tracks']['items'][-1]['media_number'] total_tracks = sum(qobuz_track['media_number'] == t['media_number'] for t in qobuz_upload.album_data['tracks']['items']) if total_medias > 1: file_name = u'{0}.{1:02d}. {2}.flac'.format( qobuz_track['media_number'], track_number, fix_filepath(track['title']) ) else: file_name = u'{0:02d}. {1}.flac'.format(track_number, fix_filepath(track['title'])) file_path = os.path.join(qobuz_upload.temp_media_path, file_name) track['path'] = file_path # Download track_info = qobuz_client.get_file_url(qobuz_track['id'], '6') assert track_info['mime_type'] == u'audio/flac' print 'Downloading', track_info['url'] response = requests.get(track_info['url']) response.raise_for_status() assert len(response.content) > 100000 with open(file_path, 'wb') as f: f.write(response.content) if call(['flac', '-t', file_path]) != 0: raise Exception('flac -t returned non-zero') meta_file = FLAC(file_path) meta_file['album'] = qobuz_upload.album_name meta_file['albumartist'] = qobuz_upload.artists meta_file['artist'] = track['artists'] meta_file['title'] = track['title'] meta_file['date'] = qobuz_upload.album_year meta_file['genre'] = qobuz_upload.album_data['genre']['name'] meta_file['tracknumber'] = str(track_number) meta_file['totaltracks'] = str(total_tracks) meta_file['discnumber'] = str(track['media_number']) meta_file['totaldiscs'] = str(total_medias) meta_file.save()
def download_goodie(qobuz_upload, index): goodie = qobuz_upload.album_data['goodies'][index] if not goodie['original_url'].endswith('.pdf'): raise Exception('Weird goodie') goodie_path = os.path.join( qobuz_upload.temp_media_path, '{0}.pdf'.format(fix_filepath(goodie['description']))) print 'Downloading', goodie['original_url'] response = requests.get(goodie['original_url']) response.raise_for_status() assert len(response.content) > 1000 with open(goodie_path, 'wb') as f: f.write(response.content)