Migliorie

This commit is contained in:
marco
2022-10-10 20:05:36 +02:00
parent dc96c1705d
commit fdfaacbd4e

View File

@@ -1,11 +1,13 @@
import base64 import base64
import socket
from http.server import BaseHTTPRequestHandler, HTTPServer from http.server import BaseHTTPRequestHandler, HTTPServer
import xbmc import xbmc, random
from core import jsontools, httptools from core import jsontools, httptools
from platformcode import logger from platformcode import logger
hostName = xbmc.getIPAddress() hostName = xbmc.getIPAddress()
serverPort = 8080 serverPort = random.randint(49152, 65535)
ret = None ret = []
call = 'kodapp://app.kod/open?s={}&ua={}&cb=http://{}:{}/' call = 'kodapp://app.kod/open?s={}&ua={}&cb=http://{}:{}/'
@@ -17,18 +19,31 @@ class MyServer(BaseHTTPRequestHandler):
ret = jsontools.load(postvars) ret = jsontools.load(postvars)
logger.info(ret) logger.info(ret)
self.send_response(200) self.send_response(200)
self.send_header("Content-type", "text/plain")
self.end_headers()
self.wfile.write(b"OK")
def call_url(url): def call_url(url):
global cookie_ricevuto global serverPort
webServer = HTTPServer((hostName, serverPort), MyServer) webServer = None
logger.info("Server started http://%s:%s" % (hostName, serverPort)) for t in range(10): # try up to 10 port if already in use
s = base64.b64encode(jsontools.dump({'url': url}).encode()).decode() try:
ua = base64.b64encode(httptools.get_user_agent().encode()).decode() webServer = HTTPServer((hostName, serverPort), MyServer)
activity = 'StartAndroidActivity("com.kodapp","android.intent.action.VIEW","",{})'.format(call.format(s, ua, hostName, serverPort)) break
logger.info(activity) except socket.error:
xbmc.executebuiltin(activity) serverPort += 1
while not ret: if webServer:
webServer.handle_request() logger.info("Server started http://%s:%s" % (hostName, serverPort))
logger.info("Server stopped.") s = base64.b64encode(jsontools.dump({'url': url}).encode()).decode()
ua = base64.b64encode(httptools.get_user_agent().encode()).decode()
uri = call.format(s, ua, hostName, serverPort)
if logger.DEBUG_ENABLED:
uri += '&l=1'
activity = 'StartAndroidActivity("com.kodapp","android.intent.action.VIEW","",{})'.format(uri)
logger.info(activity)
xbmc.executebuiltin(activity)
while not ret:
webServer.handle_request()
logger.info("Server stopped.")
return ret return ret