import json import BaseHTTPServer from sys import exc_info from types import FunctionType from urlparse import urlparse, parse_qs from resources.lib.KodiHelper import KodiHelper from resources.lib.utils import get_class_methods from resources.lib.NetflixSession import NetflixSession from resources.lib.NetflixHttpSubRessourceHandler import \ NetflixHttpSubRessourceHandler KODI_HELPER = KodiHelper() NETFLIX_SESSION = NetflixSession( cookie_path=KODI_HELPER.cookie_path, data_path=KODI_HELPER.data_path, verify_ssl=KODI_HELPER.get_ssl_verification_setting(), log_fn=KODI_HELPER.log) # get list of methods & instance form the sub ressource handler METHODS = get_class_methods(class_item=NetflixHttpSubRessourceHandler) RES_HANDLER = NetflixHttpSubRessourceHandler(kodi_helper=KODI_HELPER, netflix_session=NETFLIX_SESSION) class NetflixHttpRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): """Oppionionated internal proxy that dispatches requests to Netflix""" # pylint: disable=invalid-name def do_GET(self): """ GET request handler
# Created on: 07.03.2017 import BaseHTTPServer import json from types import FunctionType from urlparse import urlparse, parse_qs from resources.lib.KodiHelper import KodiHelper from resources.lib.NetflixSession import NetflixSession from resources.lib.NetflixHttpSubRessourceHandler import NetflixHttpSubRessourceHandler kodi_helper = KodiHelper() netflix_session = NetflixSession( cookie_path=kodi_helper.cookie_path, data_path=kodi_helper.data_path, verify_ssl=kodi_helper.get_ssl_verification_setting(), log_fn=kodi_helper.log) # get list of methods & instance form the sub ressource handler methods = [ x for x, y in NetflixHttpSubRessourceHandler.__dict__.items() if type(y) == FunctionType ] sub_res_handler = NetflixHttpSubRessourceHandler( kodi_helper=kodi_helper, netflix_session=netflix_session) class NetflixHttpRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler): """ Represents the callable internal server that dispatches requests to Netflix""" def do_GET(self): """GET request handler (we only need this, as we only do GET requests internally)"""