3 from urlparse import urlparse, parse_qs
6 from KodiHelper import KodiHelper
8 plugin_handle = int(sys.argv[1])
10 kodi_helper = KodiHelper(
11 plugin_handle=plugin_handle,
15 account = kodi_helper.addon.get_credentials()
16 email = account['email']
17 password = account['password']
18 msl = MSL(email, password)
20 class MSLHttpRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
23 self.send_response(200)
26 length = int(self.headers['content-length'])
27 post = self.rfile.read(length)
29 data = post.split('!')
32 sid = base64.standard_b64decode(data[1])
33 b64license = msl.get_license(challenge, sid)
34 if b64license is not '':
35 self.send_response(200)
37 self.wfile.write(base64.standard_b64decode(b64license))
40 self.send_response(400)
42 self.send_response(400)
45 url = urlparse(self.path)
46 params = parse_qs(url.query)
47 if 'id' not in params:
48 self.send_response(400, 'No id')
50 # Get the manifest with the given id
51 data = msl.load_manifest(int(params['id'][0]))
52 self.send_response(200)
53 self.send_header('Content-type', 'application/xml')
55 self.wfile.write(data)