How to use the pylast._Request function in pylast

To help you get started, we’ve selected a few pylast examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github pylast / pylast / pylast.py View on Github external
def get_web_auth_session_key(self, url):
        """Retrieves the session key of a web authorization process by its url."""

        if url in self.web_auth_tokens.keys():
            token = self.web_auth_tokens[url]
        else:
            token = ""    #that's gonna raise a WSError of an unauthorized token when the request is executed.

        request = _Request(self.network, 'auth.getSession', {'token': token})

        # default action is that a request is signed only when
        # a session key is provided.
        request.sign_it()

        doc = request.execute()

        return doc.getElementsByTagName('key')[0].firstChild.data
github asermax / lastfm_extension / pylast.py View on Github external
def _get_web_auth_token(self):
        """Retrieves a token from the network for web authentication.
        The token then has to be authorized from getAuthURL before creating session.
        """
        
        request = _Request(self.network, 'auth.getToken')
        
        # default action is that a request is signed only when
        # a session key is provided.
        request.sign_it()
        
        doc = request.execute()
        
        e = doc.getElementsByTagName('token')[0]
        return e.firstChild.data
github pylast / pylast / pylast.py View on Github external
def create_new_playlist(self, title, description):
        """
            Creates a playlist for the authenticated user and returns it
                title: The title of the new playlist.
                description: The description of the new playlist.
        """

        params = {}
        params['title'] = title
        params['description'] = description

        doc = _Request(self, 'playlist.create', params).execute(False)

        e_id = doc.getElementsByTagName("id")[0].firstChild.data
        user = doc.getElementsByTagName('playlists')[0].getAttribute('user')

        return Playlist(user, e_id, self)
github maxexcloo / LastDown / pylast.py View on Github external
def get_top_tags(self, limit=None):
        """Returns a sequence of the most used tags as a sequence of TopItem objects."""
        
        doc = _Request(self, "tag.getTopTags").execute(True)
        seq = []
        for node in doc.getElementsByTagName("tag"):
            tag = Tag(_extract(node, "name"), self)
            weight = _number(_extract(node, "count"))
            
            seq.append(TopItem(tag, weight))
        
        if limit:
            seq = seq[:limit]
        
        return seq
github maxexcloo / LastDown / pylast.py View on Github external
def create_new_playlist(self, title, description):
        """
            Creates a playlist for the authenticated user and returns it
                title: The title of the new playlist.
                description: The description of the new playlist.
        """
        
        params = {}
        params['title'] = title
        params['description'] = description
        
        doc = _Request(self, 'playlist.create', params).execute(False)
        
        e_id = doc.getElementsByTagName("id")[0].firstChild.data
        user = doc.getElementsByTagName('playlists')[0].getAttribute('user')
        
        return Playlist(user, e_id, self)
github asermax / lastfm_extension / pylast.py View on Github external
def _request(self, method_name, cacheable = False, params = None):
        if not params:
            params = self._get_params()
            
        return _Request(self.network, method_name, params).execute(cacheable)
github maxexcloo / LastDown / pylast.py View on Github external
def get_album_by_mbid(self, mbid):
        """Looks up an album by its MusicBrainz ID"""
        
        params = {"mbid": mbid}
        
        doc = _Request(self, "album.getInfo", params).execute(True)
        
        return Album(_extract(doc, "artist"), _extract(doc, "name"), self)
github asermax / lastfm_extension / pylast.py View on Github external
duration (Optional) : The length of the track in seconds.
                track_number (Optional) : The track number of the track on the album.
                mbid (Optional) : The MusicBrainz Track ID.
                context (Optional) : Sub-client version (not public, only enabled for certain API keys)
        """
            
        params = {"track": title, "artist": artist}
        
        if album: params["album"] = album
        if album_artist: params["albumArtist"] = album_artist
        if context: params["context"] = context
        if track_number: params["trackNumber"] = track_number
        if mbid: params["mbid"] = mbid
        if duration: params["duration"] = duration
        
        _Request(self, "track.updateNowPlaying", params).execute()