Example #1
0
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)
Example #2
0
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()
Example #3
0
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()
Example #4
0
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)