Migliorie
This commit is contained in:
43
core/app.py
43
core/app.py
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user