request.py 733 B

123456789101112131415161718192021222324
  1. from common import unpickle_args
  2. import urlparse
  3. try:
  4. from urlparse import parse_qs
  5. except ImportError:
  6. from cgi import parse_qs
  7. class Request(object):
  8. def __init__(self, url, handle):
  9. #: The entire request url.
  10. self.url = url
  11. #: The current request's handle, an integer.
  12. self.handle = int(handle)
  13. # urlparse doesn't like the 'plugin' scheme, so pass a protocol
  14. # relative url, e.g. //plugin.video.helloxbmc/path
  15. self.scheme, remainder = url.split(':', 1)
  16. parts = urlparse.urlparse(remainder)
  17. self.netloc, self.path, self.query_string = (
  18. parts[1], parts[2], parts[4])
  19. self.args = unpickle_args(parse_qs(self.query_string))