2 # -*- coding: utf-8 -*-
3 # Module: MSLHttpRequestHandler
4 # Created on: 26.01.2017
8 from urlparse import urlparse, parse_qs
10 from KodiHelper import KodiHelper
12 kodi_helper = KodiHelper()
14 msl = MSL(kodi_helper)
16 class MSLHttpRequestHandler(BaseHTTPServer.BaseHTTPRequestHandler):
19 self.send_response(200)
22 length = int(self.headers['content-length'])
23 post = self.rfile.read(length)
25 data = post.split('!')
28 sid = base64.standard_b64decode(data[1])
29 b64license = msl.get_license(challenge, sid)
30 if b64license is not '':
31 self.send_response(200)
33 self.wfile.write(base64.standard_b64decode(b64license))
36 kodi_helper.log(msg='Error getting License')
37 self.send_response(400)
39 kodi_helper.log(msg='Error in License Request')
40 self.send_response(400)
43 url = urlparse(self.path)
44 params = parse_qs(url.query)
45 if 'id' not in params:
46 self.send_response(400, 'No id')
48 # Get the manifest with the given id
49 data = msl.load_manifest(int(params['id'][0]))
50 self.send_response(200)
51 self.send_header('Content-type', 'application/xml')
53 self.wfile.write(data)
55 def log_message(self, format, *args):
57 Disable the BaseHTTPServer Log