Exemple #1
0
    def album_modify(self, **kw):
        operation = kw.pop('operation')
        id = kw.pop('id')
        referer = kw.pop('referer')
        album = gordon_model.Album.query.get(id)
        modfields = list()
        if operation == 'edit':
            for field in kw.keys():
                if album.__getattribute__(field) <> kw[field]:
                    modfields.append(field)
                    album.__setattr__(field, kw[field])
                    #not sure how to set a value using field name so we use eval
                    exec('album.%s=%s' % (field, repr(kw[field])))

            if len(modfields) > 0:
                st = 'Saved album %s with field(s) %s' % (
                    str(id), string.join(modfields, ','))
            else:
                st = 'Nothing to save in album %s' % str(id)
            flash(st)
            if referer.count('resolve') > 0:
                raise (redirect(referer))
            else:
                raise redirect('/album/%s/edit' % id)

        elif operation == 'delete':
            gordon_db.delete_album(album)
            flash('Deleted album %s' % str(id))
            redirect(referer)

        elif operation == 'deletetracks':
            for field in kw.keys():
                #delete checked tracks
                if kw[field] == 'on':
                    try:
                        id = int(field)
                        track = gordon_model.Track.query.get(id)
                        print 'Deleting', track
                        gordon_db.delete_track(track)
                    except:
                        print 'Could not delete track', field
            redirect(referer)
Exemple #2
0
    def album_modify(self,**kw):
        operation=kw.pop('operation')
        id=kw.pop('id')
        referer=kw.pop('referer')
        album = gordon_model.Album.query.get(id)
        modfields=list()
        if operation=='edit' :
            for field in kw.keys() :
                if album.__getattribute__(field)<> kw[field] :
                    modfields.append(field)
                    album.__setattr__(field,kw[field])
                    #not sure how to set a value using field name so we use eval
                    exec('album.%s=%s' % (field,repr(kw[field])))

            if len(modfields)>0 :
                st='Saved album %s with field(s) %s' % (str(id),string.join(modfields,','))
            else :
                st='Nothing to save in album %s'% str(id)
            flash(st)
            if referer.count('resolve')>0 :
                raise(redirect(referer))
            else :
                raise redirect('/album/%s/edit' % id)

        elif operation=='delete' :
            gordon_db.delete_album(album)
            flash('Deleted album %s' % str(id))
            redirect(referer)
        
        elif operation=='deletetracks' :
            for field in kw.keys() :
                #delete checked tracks
                if kw[field]=='on' :
                    try :
                        id = int(field)
                        track = gordon_model.Track.query.get(id)
                        print 'Deleting',track
                        gordon_db.delete_track(track)
                    except :
                        print 'Could not delete track',field
            redirect(referer)
Exemple #3
0
    def track_modify(self, **kw):
        operation = kw.pop('operation')
        id = kw.pop('id')
        referer = kw.pop('referer')
        track = gordon_model.Track.query.get(id)
        modfields = list()
        if operation == 'edit':
            for field in kw.keys():
                #if track._SO_getValue(field)<> kw[field] :
                if track.__getattribute__(field) <> kw[field]:
                    modfields.append(field)
                    track.__setattr__(field, kw[field])
                    #not sure how to set a value using field name so we use eval
                    #exec('track.%s=%s' % (field,repr(kw[field])))

            if len(modfields) > 0:
                st = 'Saved track %s with field(s) %s' % (
                    str(id), string.join(modfields, ','))
            else:
                st = 'Nothing to save in track %s' % str(id)
            flash(st)
            if referer.count('resolve') > 0:
                raise (redirect(referer))
            else:
                raise redirect('/track/%s/edit' % id)

        elif operation == 'delete':
            #decrement track count for related album
            #I wish this could happen in the gordon_model.Track class but can't figure out how to get things to work.
            gordon_db.delete_track(track)
            #albums = track.albums;
            #session.delete(track)
            flash('Deleted track %s' % str(id))

            for album in albums:
                if album.trackcount > 0:
                    print 'Decrementing track count of album', album
                    album.trackcount -= 1
                    print 'gordon_model.Album track count is now', album.trackcount

            redirect(referer)
Exemple #4
0
    def track_modify(self,**kw):
        operation=kw.pop('operation')
        id=kw.pop('id')
        referer=kw.pop('referer')
        track = gordon_model.Track.query.get(id)
        modfields=list()
        if operation=='edit' :
            for field in kw.keys() :
                #if track._SO_getValue(field)<> kw[field] :
                if track.__getattribute__(field)<> kw[field] :
                    modfields.append(field)
                    track.__setattr__(field,kw[field])
                    #not sure how to set a value using field name so we use eval
                    #exec('track.%s=%s' % (field,repr(kw[field])))

            if len(modfields)>0 :
                st='Saved track %s with field(s) %s' % (str(id),string.join(modfields,','))
            else :
                st='Nothing to save in track %s'% str(id)
            flash(st)
            if referer.count('resolve')>0 :
                raise(redirect(referer))
            else :
                raise redirect('/track/%s/edit' % id)

        elif operation=='delete' :
            #decrement track count for related album
            #I wish this could happen in the gordon_model.Track class but can't figure out how to get things to work.
            gordon_db.delete_track(track)
            #albums = track.albums;
            #session.delete(track)
            flash('Deleted track %s' % str(id))

            for album in albums:
                if album.trackcount>0 :
                    print 'Decrementing track count of album',album
                    album.trackcount-=1
                    print 'gordon_model.Album track count is now',album.trackcount

            redirect(referer)