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,15 +19,28 @@ 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 = None
for t in range(10): # try up to 10 port if already in use
try:
webServer = HTTPServer((hostName, serverPort), MyServer) webServer = HTTPServer((hostName, serverPort), MyServer)
break
except socket.error:
serverPort += 1
if webServer:
logger.info("Server started http://%s:%s" % (hostName, serverPort)) logger.info("Server started http://%s:%s" % (hostName, serverPort))
s = base64.b64encode(jsontools.dump({'url': url}).encode()).decode() s = base64.b64encode(jsontools.dump({'url': url}).encode()).decode()
ua = base64.b64encode(httptools.get_user_agent().encode()).decode() ua = base64.b64encode(httptools.get_user_agent().encode()).decode()
activity = 'StartAndroidActivity("com.kodapp","android.intent.action.VIEW","",{})'.format(call.format(s, ua, hostName, serverPort)) 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) logger.info(activity)
xbmc.executebuiltin(activity) xbmc.executebuiltin(activity)
while not ret: while not ret: