Top

spotify module

import json

from spotify.http import HttpClient
from spotify.v1 import V1


class Client:
    API = 'https://api.spotify.com'

    def __init__(self, auth, http_client=None):
        self.auth = auth
        self.http_client = http_client or HttpClient()

        self._v1 = None

    @property
    def v1(self):
        if not self._v1:
            self._v1 = V1(self)

        return self._v1

    def absolute_url(self, uri):
        return '{}{}'.format(self.API, uri)

    def request(self, method, url, params=None, data=None, headers=None):
        headers = headers or {}
        headers['Authorization'] = self.auth.auth_string

        if data and 'Content-Type' not in headers:
            headers['Content-Type'] = 'application/json'
            data = json.dumps(data)

        response = self.http_client.request(
            method,
            url,
            params=params,
            data=data,
            headers=headers
        )

        response.raise_for_status()
        return response

Classes

class Client

class Client:
    API = 'https://api.spotify.com'

    def __init__(self, auth, http_client=None):
        self.auth = auth
        self.http_client = http_client or HttpClient()

        self._v1 = None

    @property
    def v1(self):
        if not self._v1:
            self._v1 = V1(self)

        return self._v1

    def absolute_url(self, uri):
        return '{}{}'.format(self.API, uri)

    def request(self, method, url, params=None, data=None, headers=None):
        headers = headers or {}
        headers['Authorization'] = self.auth.auth_string

        if data and 'Content-Type' not in headers:
            headers['Content-Type'] = 'application/json'
            data = json.dumps(data)

        response = self.http_client.request(
            method,
            url,
            params=params,
            data=data,
            headers=headers
        )

        response.raise_for_status()
        return response

Ancestors (in MRO)

Class variables

var API

Instance variables

var auth

var http_client

var v1

Methods

def __init__(

self, auth, http_client=None)

def __init__(self, auth, http_client=None):
    self.auth = auth
    self.http_client = http_client or HttpClient()
    self._v1 = None

def absolute_url(

self, uri)

def absolute_url(self, uri):
    return '{}{}'.format(self.API, uri)

def request(

self, method, url, params=None, data=None, headers=None)

def request(self, method, url, params=None, data=None, headers=None):
    headers = headers or {}
    headers['Authorization'] = self.auth.auth_string
    if data and 'Content-Type' not in headers:
        headers['Content-Type'] = 'application/json'
        data = json.dumps(data)
    response = self.http_client.request(
        method,
        url,
        params=params,
        data=data,
        headers=headers
    )
    response.raise_for_status()
    return response

Sub-modules