Source code for resources.lib.Constants

# -*- coding: utf-8 -*-
# Module: Constants
# Author: asciidisco
# Created on: 24.07.2017
# License: MIT https://goo.gl/WA1kby

"""Static links & list of sports"""

# KODI addon id
ADDON_ID = 'plugin.video.telekom-sport'

# urls for login & data retrival
PRL = 'https://'
BASE_URL = PRL + 'www.telekomsport.de'
LOGIN_LINK = BASE_URL + '/service/auth/web/login?headto=' + BASE_URL + '/info'
LOGIN_ENDPOINT = PRL + 'accounts.login.idm.telekom.com/sso'
EPG_URL = BASE_URL + '/api/v1/'
STREAM_ROUTE = '/service/player/streamAccess'
STREAM_PARAMS = 'videoId=%VIDEO_ID%&label=2780_hls'
STREAM_DEFINITON_URL = BASE_URL + STREAM_ROUTE + '?' + STREAM_PARAMS
FANART_URL = PRL + 'raw.githubusercontent.com/hubsif/kodi-telekomsport/master'

# core event types
SPORTS = {
    'liga3': {
        'image': BASE_URL + '/images/packete/3liga.png',
        'fanart': FANART_URL + '/resources/fanart/3.liga.jpg',
        'name': '3. Liga',
        'indicators': ['3. Liga'],
        'page': 'fussball/3-liga',
        'epg': '',
    },
    'del': {
        'image': BASE_URL + '/images/packete/del.png',
        'fanart': FANART_URL + '/resources/fanart/del.jpg',
        'name': 'Deutsche Eishockey Liga',
        'indicators': [''],
        'page': 'eishockey/del',
        'epg': '',
    },
    'ffb': {
        'image': BASE_URL + '/images/packete/frauenbundesliga.png',
        'fanart': FANART_URL + '/resources/fanart/frauen-bundesliga.jpg',
        'name': 'Frauen-Bundesliga',
        'indicators': [''],
        'page': 'fussball/frauen-bundesliga',
        'epg': '',
    },
    'fcb': {
        'image': BASE_URL + '/images/packete/fcbayerntv.png',
        'fanart': FANART_URL + '/resources/fanart/fcbtv.jpg',
        'name': 'FC Bayern.TV',
        'indicators': [''],
        'page': 'fc-bayern-tv-live',
        'epg': '',
    },
    'bbl': {
        'image': BASE_URL + '/images/packete/easyCredit.png',
        'fanart': FANART_URL + '/resources/fanart/bbl.jpg',
        'name': 'Easycredit BBL',
        'indicators': [''],
        'page': 'basketball/bbl',
        'epg': '',
    },
    'bel': {
        'image': BASE_URL + '/images/packete/euroleague.png',
        'fanart': FANART_URL + '/resources/fanart/euroleague.jpg',
        'name': 'Basketball Turkish Airlines Euroleague',
        'indicators': [''],
        'page': 'basketball/euroleague',
        'epg': '',
    },
    'eurobasket': {
        'image': 'http://www.fiba.basketball/img/12104_logo_landscape.png',
        'fanart': FANART_URL + '/resources/fanart/eurobasket.jpg',
        'name': 'FIBA Eurobasket',
        'indicators': [''],
        'page': 'basketball/eurobasket2017',
        'epg': '',
    },
    'skybuli': {
        'image': BASE_URL + '/images/packete/sky-bundesliga.png',
        'fanart': FANART_URL + '/resources/fanart/bundesliga.jpg',
        'name': 'Sky Bundesliga',
        'indicators': [''],
        'page': 'sky/bundesliga',
        'epg': '',
    },
    'skychamp': {
        'image': BASE_URL + '/images/packete/sky-cl.png',
        'fanart': FANART_URL + '/resources/fanart/uefa.jpg',
        'name': 'Sky Champions League',
        'indicators': [''],
        'page': 'sky/champions-league',
        'epg': '',
    },
    'skyhandball': {
        'image': BASE_URL + '/images/packete/DKB.png',
        'fanart': FANART_URL + '/resources/fanart/hbl.jpg',
        'name': 'Handball Bundesliga',
        'indicators': [''],
        'page': 'sky/handball-bundesliga',
        'epg': '',
    },
}

# static menu items for various lists
STATICS = {
    'liga3': {
        'categories': [
            {
                'name': 'Alle Spieltage',
                'id': 'spieltage',
            }, {
                'name': 'Suche nach Datum',
                'id': 'bydate',
            }
        ]
    }
}


[docs]class Constants(object): """Access methods for static links & list of sports""" @classmethod
[docs] def get_base_url(cls): """ Returns the Telekom sport base HTTP address :returns: string -- Base address """ return BASE_URL
@classmethod @classmethod
[docs] def get_login_endpoint(cls): """ Returns the Telekom login SSO endpoint :returns: string -- SSO login endpoint """ return LOGIN_ENDPOINT
@classmethod
[docs] def get_epg_url(cls): """ Returns the EPG API URL :returns: string -- EPG API URL """ return EPG_URL
@classmethod
[docs] def get_stream_definition_url(cls): """ Returns the stream defintion URL, used to get the final stream URL. It contains a `%VIDEO_ID%` placeholder, that needs to be replaced in order to fetch the streams :returns: string -- EPG API URL """ return STREAM_DEFINITON_URL
@classmethod
[docs] def get_sports_list(cls): """ Returns the list of available sports :returns: dict -- List of available sports """ return SPORTS
@classmethod
[docs] def get_statics_list(cls): """ Returns list of static menu items for various categories :returns: dict -- List of static menu items for various categories """ return STATICS
@classmethod
[docs] def get_addon_id(cls): """ Returns the addon id :returns: string -- Addon ID """ return ADDON_ID