コード例 #1
0
 def get(self, request, artist_id, song_id):
     '''
     Get list of tablatures by artist and song ids.
     Returns 200.
     '''
     
     #Get in an array the models of all the tablatures
     tablaturemodels = database.get_tablatures(artist_id, song_id)
     if tablaturemodels == None:
         return Response(status=status.HTTP_404_NOT_FOUND)
     
     #Serialize each one of the tablatures. An array of tablatures looks like:
     #[{'song':'song_id, 'link':{'rel':'self','href'=:'http://tab_archive/artists/artist_id/song_id'}},
     #{'song':'song_id, 'link':{'rel':'self','href'=:'http://tab_archive/artists/artist_id/song_id'}}]
     song = {}
     song["artist_id"] = artist_id
     song["song_id"] = song_id
     tablatures = []
     for tablaturemodel in tablaturemodels: 
         _tablatureid = tablaturemodel.tablature_id
         _rating = tablaturemodel.rating
         _tablatureurl = "http://localhost:8000/tab_archive/tablatures/"+str(_tablatureid)
         _tablatureurl = reverse("tablature", (_tablatureid,), request=request)
         tablature = {}
         tablature['tablature_id'] = _tablatureid
         tablature['rating'] = _rating
         tablature['link'] = {'rel':'self', 'href':_tablatureurl}
         tablatures.append(tablature)
     song["tablatures"] = tablatures
     response = Response(song, status=status.HTTP_200_OK)  
     return response
コード例 #2
0
    def get (self, request):
        '''
        Get list of tablatures.
        Returns 200.
        '''
        #Get in an array the models of all the tablatures
        tablaturemodels = database.get_tablatures('', '')
        if tablaturemodels == None:
            error = ErrorModel('Tablatures were not found.').serialize()
            return Response(error, status=status.HTTP_404_NOT_FOUND)
            

        #Serialize each one of the tablatures. An array of tablatures looks like:
        #[{'title':'message_title, 'link':{'rel':'self','href'=:'http://tab_archive/tablatures/tablature_id'}},
        #{'title':'message_title, 'link':{'rel':'self','href'=:'http://tab_archive/tablatures/tablature_id'}}]
        songs = []
        for tablaturemodel in tablaturemodels: 
            song = {"artist":{}, "song":{}, "tablature":{}}
            _artisturl = reverse("artist", (tablaturemodel.artist_id,), request=request)
            _songurl = reverse("song", (tablaturemodel.artist_id, tablaturemodel.song_id,), request=request)
            song["artist"]["artist_id"] = tablaturemodel.artist_id
            song["artist"]["link"] = {'rel':'self', 'href':_artisturl}
            song["song"]["song_id"] = tablaturemodel.song_id
            song["song"]["link"] = {'rel':'self', 'href':_songurl}
            _tablatureid = tablaturemodel.tablature_id
            _tablatureurl = "http://localhost:8000/tab_archive/tablatures/"+str(_tablatureid)
            _tablatureurl = reverse("tablature", (_tablatureid,), request=request)
            tablature = {}
            tablature['tablature_id'] = _tablatureid
            tablature['rating'] = tablaturemodel.rating
            tablature['rating_count'] = tablaturemodel.rating_count
            tablature['link'] = {'rel':'self', 'href':_tablatureurl}
            tablature['user'] = {'user_nickname' : tablaturemodel.user_nickname}
            _userurl = reverse("user", (tablaturemodel.user_nickname,), request=request)
            tablature['user']['link'] = {'rel':'self', 'href':_userurl}
            song["tablature"] = tablature
            songs.append(song)
        return Response(songs, status=status.HTTP_200_OK)