Example #1
0
 def _encode_url(self, data):
     query = self.query
     if data:
         data = native_str(data)
         if isinstance(data, str):
             data = parse_qsl(data)
         else:
             data = mapping_iterator(data)
         query = parse_qsl(query)
         query.extend(data)
         query = urlencode(query)
     self.query = query
Example #2
0
 def _encode_url(self, body):
     query = self.query
     if body:
         body = native_str(body)
         if isinstance(body, str):
             body = parse_qsl(body)
         else:
             body = mapping_iterator(body)
         query = parse_qsl(query)
         query.extend(body)
         self.data = query
         query = urlencode(query)
     self.query = query
Example #3
0
 def _encode_url(self, body):
     query = self.query
     if body:
         body = native_str(body)
         if isinstance(body, str):
             body = parse_qsl(body)
         else:
             body = mapping_iterator(body)
         query = parse_qsl(query)
         query.extend(body)
         self.data = query
         query = urlencode(query)
     self.query = query
Example #4
0
def parse_store_url(url):
    assert url, 'No url given'
    scheme, host, path, query, fr = urlsplit(url)
    assert not fr, 'store url must not have fragment, found %s' % fr
    assert scheme, 'Scheme not provided'
    # pulsar://
    if scheme == 'pulsar' and not host:
        host = '127.0.0.1:0'
    bits = host.split('@')
    assert len(bits) <= 2, 'Too many @ in %s' % url
    params = dict(parse_qsl(query))
    if path:
        database = path[1:]
        assert '/' not in database, 'Unsupported database %s' % database
        params['database'] = database
    if len(bits) == 2:
        userpass, host = bits
        userpass = userpass.split(':')
        assert len(userpass) <= 2,\
            'User and password not in user:password format'
        params['user'] = userpass[0]
        if len(userpass) == 2:
            params['password'] = userpass[1]
    if ':' in host:
        host = tuple(host.split(':'))
        host = host[0], int(host[1])
    return scheme, host, params
Example #5
0
def parse_store_url(url):
    assert url, 'No url given'
    scheme, host, path, query, fr = urlsplit(url)
    assert not fr, 'store url must not have fragment, found %s' % fr
    assert scheme, 'Scheme not provided'
    # pulsar://
    if scheme == 'pulsar' and not host:
        host = '127.0.0.1:0'
    bits = host.split('@')
    assert len(bits) <= 2, 'Too many @ in %s' % url
    params = dict(parse_qsl(query))
    if path:
        database = path[1:]
        assert '/' not in database, 'Unsupported database %s' % database
        params['database'] = database
    if len(bits) == 2:
        userpass, host = bits
        userpass = userpass.split(':')
        assert len(userpass) <= 2,\
            'User and password not in user:password format'
        params['user'] = userpass[0]
        if len(userpass) == 2:
            params['password'] = userpass[1]
    if ':' in host:
        host = tuple(host.split(':'))
        host = host[0], int(host[1])
    return scheme, host, params
Example #6
0
def _gen_query(query_string, encoding):
    # keep_blank_values=True
    for key, value in parse_qsl((query_string or ''), True):
        yield (to_string(key, encoding, errors='replace'),
               to_string(value, encoding, errors='replace'))
Example #7
0
def _gen_query(query_string, encoding):
    # keep_blank_values=True
    for key, value in parse_qsl((query_string or ''), True):
        yield (to_string(key, encoding, errors='replace'),
               to_string(value, encoding, errors='replace'))