Ejemplo n.º 1
0
def download_album(celery_task, qobuz_album_id):
    try:
        qobuz_client = get_qobuz_client(lambda: None)
        qobuz_upload = QobuzUpload.objects.get(id=qobuz_album_id)
        assert len(qobuz_upload.album_data['tracks']['items']) == len(qobuz_upload.track_data)
        os.makedirs(qobuz_upload.temp_media_path)
        print 'Downloading images'
        if qobuz_upload.album_data['image']['back']:
            download_image(qobuz_upload, qobuz_upload.album_data['image']['back'], 'back.jpg')
        download_image(qobuz_upload, qobuz_upload.album_data['image']['large'], 'folder.jpg')
        print 'Download goodies'
        if 'goodies' in qobuz_upload.album_data:
            for i in xrange(len(qobuz_upload.album_data['goodies'])):
                download_goodie(qobuz_upload, i)
        print 'Downloading tracks'
        track_number = 0
        media_number = 0
        for i, track in enumerate(qobuz_upload.album_data['tracks']['items']):
            if track['media_number'] != media_number:
                track_number = 1
                media_number = track['media_number']
            download_track(qobuz_client, qobuz_upload, i, track_number)
            track_number += 1
        print 'Generating torrent'
        generate_torrents(qobuz_upload)
        print 'Generating spectrals'
        os.makedirs(qobuz_upload.spectrals_path)
        for i in xrange(len(qobuz_upload.album_data['tracks']['items'])):
            generate_spectrals(qobuz_upload, i)
        qobuz_upload.track_data_json = ujson.dumps(qobuz_upload.track_data)
        recursive_chmod(qobuz_upload.temp_media_path, 0777)
    finally:
        connection.close()
Ejemplo n.º 2
0
def new_upload(request):
    if request.method == 'POST':
        form = NewUploadForm(request.POST)
        if form.is_valid():
            qobuz = get_qobuz_client(request)
            album_id = form.cleaned_data['album_id']
            try:
                album = qobuz.call('album/get', {'album_id': album_id})
                qobuz_upload = QobuzUpload(
                    qobuz_album_id=album_id,
                    album_data_json=ujson.dumps(album),
                )
                qobuz_upload.populate_fields()
                qobuz_upload.save()
                return redirect(edit_upload, qobuz_upload.id)
            except RequestException:
                form.add_error('album_id', 'Cannot fetch Qobuz album')
    else:
        form = NewUploadForm()
    data = {
        'form': form,
    }
    return render(request, 'qobuz/new_upload.html', data)
Ejemplo n.º 3
0
def new_upload(request):
    if request.method == 'POST':
        form = NewUploadForm(request.POST)
        if form.is_valid():
            qobuz = get_qobuz_client(request)
            album_id = form.cleaned_data['album_id']
            try:
                album = qobuz.call('album/get', {'album_id': album_id})
                qobuz_upload = QobuzUpload(
                    qobuz_album_id=album_id,
                    album_data_json=ujson.dumps(album),
                )
                qobuz_upload.populate_fields()
                qobuz_upload.save()
                return redirect(edit_upload, qobuz_upload.id)
            except RequestException:
                form.add_error('album_id', 'Cannot fetch Qobuz album')
    else:
        form = NewUploadForm()
    data = {
        'form': form,
    }
    return render(request, 'qobuz/new_upload.html', data)
Ejemplo n.º 4
0
def download_album(celery_task, qobuz_album_id):
    try:
        qobuz_client = get_qobuz_client(lambda: None)
        qobuz_upload = QobuzUpload.objects.get(id=qobuz_album_id)
        assert len(qobuz_upload.album_data['tracks']['items']) == len(
            qobuz_upload.track_data)
        os.makedirs(qobuz_upload.temp_media_path)
        print 'Downloading images'
        if qobuz_upload.album_data['image']['back']:
            download_image(qobuz_upload,
                           qobuz_upload.album_data['image']['back'],
                           'back.jpg')
        download_image(qobuz_upload, qobuz_upload.album_data['image']['large'],
                       'folder.jpg')
        print 'Download goodies'
        if 'goodies' in qobuz_upload.album_data:
            for i in xrange(len(qobuz_upload.album_data['goodies'])):
                download_goodie(qobuz_upload, i)
        print 'Downloading tracks'
        track_number = 0
        media_number = 0
        for i, track in enumerate(qobuz_upload.album_data['tracks']['items']):
            if track['media_number'] != media_number:
                track_number = 1
                media_number = track['media_number']
            download_track(qobuz_client, qobuz_upload, i, track_number)
            track_number += 1
        print 'Generating torrent'
        generate_torrents(qobuz_upload)
        print 'Generating spectrals'
        os.makedirs(qobuz_upload.spectrals_path)
        for i in xrange(len(qobuz_upload.album_data['tracks']['items'])):
            generate_spectrals(qobuz_upload, i)
        qobuz_upload.track_data_json = ujson.dumps(qobuz_upload.track_data)
        recursive_chmod(qobuz_upload.temp_media_path, 0777)
    finally:
        connection.close()