jellyfin-kodi/jellyfin_kodi/jellyfin/configuration.py

67 lines
1.9 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import division, absolute_import, print_function, unicode_literals
""" This will hold all configs from the client.
Configuration set here will be used for the HTTP client.
"""
#################################################################################################
from ..helper import LazyLogger
#################################################################################################
LOG = LazyLogger(__name__)
DEFAULT_HTTP_MAX_RETRIES = 3
DEFAULT_HTTP_TIMEOUT = 30
#################################################################################################
class Config(object):
def __init__(self):
LOG.debug("Configuration initializing...")
self.data = {}
self.http()
def app(
self,
name,
version,
device_name,
device_id,
capabilities=None,
device_pixel_ratio=None,
):
LOG.debug("Begin app constructor.")
self.data["app.name"] = name
self.data["app.version"] = version
self.data["app.device_name"] = device_name
self.data["app.device_id"] = device_id
self.data["app.capabilities"] = capabilities
self.data["app.device_pixel_ratio"] = device_pixel_ratio
self.data["app.default"] = False
def auth(self, server, user_id, token=None, ssl=None):
LOG.debug("Begin auth constructor.")
self.data["auth.server"] = server
self.data["auth.user_id"] = user_id
self.data["auth.token"] = token
self.data["auth.ssl"] = ssl
def http(
self,
user_agent=None,
max_retries=DEFAULT_HTTP_MAX_RETRIES,
timeout=DEFAULT_HTTP_TIMEOUT,
):
LOG.debug("Begin http constructor.")
self.data["http.max_retries"] = max_retries
self.data["http.timeout"] = timeout
self.data["http.user_agent"] = user_agent