def test_init(self):
     request = Request('plugin://my.plugin.id/home/?foo=bar&biz=buzz', '0')
     self.assertEqual(request.url,
                      'plugin://my.plugin.id/home/?foo=bar&biz=buzz')
     self.assertEqual(request.handle, 0)
     self.assertEqual(request.query_string, 'foo=bar&biz=buzz')
     self.assertEqual(request.args, {'foo': ['bar'], 'biz': ['buzz']})
     self.assertEqual(request.scheme, 'plugin')
     self.assertEqual(request.netloc, 'my.plugin.id')
     self.assertEqual(request.path, '/home/')
 def test_pickled_qs_args(self):
     request = Request(
         'plugin://plugin.video.helloxbmc/?foo=I3%0A.&_pickled=foo', '0')
     self.assertEqual(
         request.url,
         'plugin://plugin.video.helloxbmc/?foo=I3%0A.&_pickled=foo')
     self.assertEqual(request.handle, 0)
     self.assertEqual(request.query_string, 'foo=I3%0A.&_pickled=foo')
     self.assertEqual(request.args, {'foo': [3]})
     self.assertEqual(request.scheme, 'plugin')
     self.assertEqual(request.netloc, 'plugin.video.helloxbmc')
     self.assertEqual(request.path, '/')
 def test_init2(self):
     '''Bug in urlparse for the following url. The netloc is '' and
     the path is incorrectly reported as 'my.plugin.id'
     '''
     request = Request('plugin://my.plugin.id/?foo=bar&biz=buzz', '0')
     self.assertEqual(request.url,
                      'plugin://my.plugin.id/?foo=bar&biz=buzz')
     self.assertEqual(request.handle, 0)
     self.assertEqual(request.query_string, 'foo=bar&biz=buzz')
     self.assertEqual(request.args, {'foo': ['bar'], 'biz': ['buzz']})
     self.assertEqual(request.scheme, 'plugin')
     self.assertEqual(request.netloc, 'my.plugin.id')
     self.assertEqual(request.path, '/')
Beispiel #4
0
    def _parse_request(self, url=None, handle=None):
        '''Handles setup of the plugin state, including request
        arguments, handle, mode.

        This method never needs to be called directly. For testing, see
        plugin.test()
        '''
        # To accomdate self.redirect, we need to be able to parse a full url as
        # well
        if url is None:
            url = sys.argv[0]
            if len(sys.argv) == 3:
                url += sys.argv[2]
        if handle is None:
            handle = sys.argv[1]
        return Request(url, handle)