X-Git-Url: http://git.code-monkey.de/?p=plugin.video.netflix.git;a=blobdiff_plain;f=service.py;h=1829fbd9d4e5848d22f6a5c9c55bdb374fb9f67e;hp=8600979b65e1d5b78324cf9f1afbb195e49e2c94;hb=86455dfff7e4878e5192dd97991f2e96a3021739;hpb=85447a5fdfc7dff80e2272d77a5f94c0eddff1af diff --git a/service.py b/service.py index 8600979..1829fbd 100644 --- a/service.py +++ b/service.py @@ -1,13 +1,31 @@ import threading import SocketServer import xbmc -from resources.lib.common import log +import xbmcaddon +import socket +from resources.lib.KodiHelper import KodiHelper from resources.lib.MSLHttpRequestHandler import MSLHttpRequestHandler -PORT = 8000 -Handler = MSLHttpRequestHandler +addon = xbmcaddon.Addon() +kodi_helper = KodiHelper( + plugin_handle=None, + base_url=None +) + +def select_unused_port(): + sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + sock.bind(('localhost', 0)) + addr, port = sock.getsockname() + sock.close() + return port + +port = select_unused_port() +addon.setSetting('msl_service_port', str(port)) +kodi_helper.log(msg='Picked Port: ' + str(port)) + +#Config the HTTP Server SocketServer.TCPServer.allow_reuse_address = True -server = SocketServer.TCPServer(('127.0.0.1', PORT), Handler) +server = SocketServer.TCPServer(('127.0.0.1', port), MSLHttpRequestHandler) server.server_activate() server.timeout = 1 @@ -25,4 +43,4 @@ if __name__ == '__main__': server.server_close() server.socket.close() server.shutdown() - log("Stopped MSL Service") + kodi_helper.log(msg='Stopped MSL Service')