Example #1
0
    def resolve_viewalbum(self,id=1) :

        album = gordon_model.Album.query.get(id)
        tracks = album.tracks
        albumcover = widgets.get_albumcover(album)
        artiststring = widgets.get_album_artiststring(album)
        res= gordon_model.Mbalbum_recommend.query.filter_by(album_id=id)
            
        if res.count()<>1 :
            flash('No recommendation or multiple recommendations for album %s' % id)
            redirect("/resolve_viewalbums")
        else :
            mbrecommend=res[0]


        if mbrecommend.trackorder<>None :
            trackorder = eval(mbrecommend.trackorder)
            if len(trackorder)==len(tracks) :
                trks = [0] * len(tracks)
                for t in tracks :
                    idx = trackorder[t.id]
                    trks[idx]=t
                tracks = trks



        mbrainz_resolver = gordon.db.mbrainz_resolver.GordonResolver()        

        #get the recommended album name for display

        (recommend_tracks,status) = mbrainz_resolver.add_mbalbumdata_to_trackdict(mbrecommend.mb_id,tracks) #adds mb tracks to tracks structure
        if status==False :
            #try redoing the recommmendation
            print 'Trying to get closest album'
            mbrainz_resolver.resolve_album(id) 
            (recommend_tracks,status) = mbrainz_resolver.add_mbalbumdata_to_trackdict(mbrecommend.mb_id,tracks) #adds mb tracks to tracks structure
            if status==False :
                flash('Unable to merge tracks for album %s' % id)
                redirect('/resolve_viewalbums')
        mbrecommend_mb_id_url=widgets.get_album_mb_id_url(mbrecommend.mb_id)
        mb_album=mbrecommend.mb_album
        submit_form = TableForm(
            fields=[TextField(name='mb_id',default=mbrecommend.mb_id,label='Recommended MB_ID',attrs=dict(size='38'))],
            action="../resolve_submitalbum/%s" % str(id),
            submit_text="Accept and Update(!)",
            )
        return dict(album=album,artiststring=artiststring,albumcover=albumcover,tracks=recommend_tracks,mb_album=mb_album,
                    tracklist=mbrecommend_track_datagrid,mbrecommend=mbrecommend,submit_form=submit_form,mbrecommend_mb_id_url=mbrecommend_mb_id_url)
Example #2
0
    def resolve_viewalbum(self, id=1):

        album = gordon_model.Album.query.get(id)
        tracks = album.tracks
        albumcover = widgets.get_albumcover(album)
        artiststring = widgets.get_album_artiststring(album)
        res = gordon_model.Mbalbum_recommend.query.filter_by(album_id=id)

        if res.count() <> 1:
            flash(
                'No recommendation or multiple recommendations for album %s' %
                id)
            redirect("/resolve_viewalbums")
        else:
            mbrecommend = res[0]

        if mbrecommend.trackorder <> None:
            trackorder = eval(mbrecommend.trackorder)
            if len(trackorder) == len(tracks):
                trks = [0] * len(tracks)
                for t in tracks:
                    idx = trackorder[t.id]
                    trks[idx] = t
                tracks = trks

        mbrainz_resolver = gordon.db.mbrainz_resolver.GordonResolver()

        #get the recommended album name for display

        (recommend_tracks,
         status) = mbrainz_resolver.add_mbalbumdata_to_trackdict(
             mbrecommend.mb_id, tracks)  #adds mb tracks to tracks structure
        if status == False:
            #try redoing the recommmendation
            print 'Trying to get closest album'
            mbrainz_resolver.resolve_album(id)
            (recommend_tracks,
             status) = mbrainz_resolver.add_mbalbumdata_to_trackdict(
                 mbrecommend.mb_id,
                 tracks)  #adds mb tracks to tracks structure
            if status == False:
                flash('Unable to merge tracks for album %s' % id)
                redirect('/resolve_viewalbums')
        mbrecommend_mb_id_url = widgets.get_album_mb_id_url(mbrecommend.mb_id)
        mb_album = mbrecommend.mb_album
        submit_form = TableForm(
            fields=[
                TextField(name='mb_id',
                          default=mbrecommend.mb_id,
                          label='Recommended MB_ID',
                          attrs=dict(size='38'))
            ],
            action="../resolve_submitalbum/%s" % str(id),
            submit_text="Accept and Update(!)",
        )
        return dict(album=album,
                    artiststring=artiststring,
                    albumcover=albumcover,
                    tracks=recommend_tracks,
                    mb_album=mb_album,
                    tracklist=mbrecommend_track_datagrid,
                    mbrecommend=mbrecommend,
                    submit_form=submit_form,
                    mbrecommend_mb_id_url=mbrecommend_mb_id_url)
Example #3
0
 def resolve_recommendalbum(self,id=1) :
     mbrainz_resolver = gordon.db.mbrainz_resolver.GordonResolver()
     mbrainz_resolver.resolve_album(id=id)
     redirect(request.headers.get("Referer", "/"))
Example #4
0
 def resolve_recommendalbum(self, id=1):
     mbrainz_resolver = gordon.db.mbrainz_resolver.GordonResolver()
     mbrainz_resolver.resolve_album(id=id)
     redirect(request.headers.get("Referer", "/"))