Beispiel #1
0
def upload(request):
    if request.method == 'POST':
        library, form = LibraryView().post_library(request)
        if library:
            library_id = utils.encrypt_id(library.pk)
            return redirect('library_success', library_id=library_id)
    else:
        recent_albums = MBAlbum.objects.order_by('-release_date').select_related()[:10]
        recent_albums = [album for album in recent_albums if album.amazon_url]
        recent_albums = recent_albums[:min(len(recent_albums), 5)]
        form = forms.UploadFileForm()
    return direct_to_template(request, 'library/upload.html', locals())
Beispiel #2
0
 def create(self, request, *args):
     '''
     Example cURL POST
     curl -H "Content-Type: multipart/form-data" -F "file=@test_library.xml" -F "name=Anthony" http://localhost:8000/api/library/
     '''
     library, form = LibraryView().post_library(request)
     if library:
         return {'upload_success': 'true', 'library_id': str(utils.encrypt_id(library.pk))}
     else:
         # Create real dict from form.errors (ErrorDict)
         errors = dict([(k, [unicode(e) for e in v]) for k,v in form.errors.items()])
         return {'upload_success': 'false', 'errors': errors}
Beispiel #3
0
def pandora_import(request):
    '''Handles post request of pandora username for artists import from
    pandora.

    '''
    form = forms.PandoraUsernameForm(request.POST)
    if form.is_valid():
        username = form.cleaned_data.get('username')
        library = Library(name=username)
        library.save()
        tasks.import_pandora_artists.delay(library.id, username)
        library_id = utils.encrypt_id(library.pk)
        return redirect('library_success', library_id)
    else:
        form = forms.PandoraUsernameForm()
        return direct_to_template(request, 'library/upload.html', locals())
Beispiel #4
0
def lastfm_import(request):
    '''Handles post request of last.fm username for artists import from
    last.fm.

    '''
    if request.method == 'POST':
        form = forms.LastfmUsernameForm(request.POST)
        if form.is_valid():
            user = form.user
            library = Library(name=user.name)
            library.save()
            tasks.import_lastfm_artists.delay(library.id, user)
            library_id = utils.encrypt_id(library.pk)
            return redirect('library_success', library_id)
    else:
        form = forms.LastfmUsernameForm()
    return direct_to_template(request, 'test_form.html', {'form': form})
Beispiel #5
0
 def url(self):
     return 'http://%s/library/%s/' % \
         (Site.objects.get_current().domain, utils.encrypt_id(self.id))