示例#1
0
    def get_album(
        self,
        album_property: Optional[list] = None,
        music_property: Optional[list] = None,
        smw_id: Optional[int] = None,
        album_name: Optional[str] = None
    ) -> Optional[Tuple[Album, List[Song]]]:
        params = {}
        params["m"] = "ga"
        params["d"] = "kv"
        params["f"] = " ".join(allowed_album_property)
        params["p"] = " ".join(allowed_music_property)
        if smw_id:
            params["a"] = str(smw_id)
        if album_name:
            params["t"] = album_name

        r = requests.get(self.base_url, params=params)
        try:
            return_json = r.json()
        except:
            return None, None

        if len(return_json) == 2:
            album = Album.from_params(return_json[0])
        songs = []
        for string_smw_id, song_params in return_json[1].items():
            songs.append(Song.from_params(string_smw_id, song_params))

        return album, songs
示例#2
0
 def get_track(self,
               music_property: Optional[list] = None,
               smw_id: Optional[int] = None) -> Optional[Song]:
     params = {}
     params["m"] = "gt"
     params["d"] = "kv"
     params["p"] = " ".join(allowed_music_property)
     if smw_id:
         params["i"] = str(smw_id)
     r = requests.get(self.base_url, params=params)
     try:
         return_json = r.json()
     except:
         return None
     if len(return_json) == 1:
         string_smw_id = list(return_json.keys())[0]
     song = Song.from_params(string_smw_id, return_json[string_smw_id])
     return song