Esempio n. 1
0
def assert_url_eq(url1, url2):
    parts1 = urlparse.urlsplit(url1)
    parts2 = urlparse.urlsplit(url2)

    assert parts1[0] == parts2[0], '%s != %s (%s)' % (url1, url2, 'schema')
    assert parts1[1] == parts2[1], '%s != %s (%s)' % (url1, url2, 'location')
    assert parts1[2] == parts2[2], '%s != %s (%s)' % (url1, url2, 'path')
    assert query_eq(parts1[3], parts2[3]), '%s != %s (%s)' % (url1, url2, 'query')
    assert parts1[4] == parts2[4], '%s != %s (%s)' % (url1, url2, 'fragment')
Esempio n. 2
0
def assert_url_eq(url1, url2):
    parts1 = urlparse.urlsplit(url1)
    parts2 = urlparse.urlsplit(url2)

    assert parts1[0] == parts2[0], '%s != %s (%s)' % (url1, url2, 'schema')
    assert parts1[1] == parts2[1], '%s != %s (%s)' % (url1, url2, 'location')
    assert parts1[2] == parts2[2], '%s != %s (%s)' % (url1, url2, 'path')
    assert query_eq(parts1[3], parts2[3]), '%s != %s (%s)' % (url1, url2, 'query')
    assert parts1[4] == parts2[4], '%s != %s (%s)' % (url1, url2, 'fragment')
Esempio n. 3
0
def rest_identify_endpoint(url):
    parts = urlparse.urlsplit(url)
    path = parts.path.rstrip("/").split("/")

    if path[-1] in ("export", "exportImage"):
        path[-1] = "identify"
    elif path[-1] in ("MapServer", "ImageServer"):
        path.append("identify")

    parts = parts[0], parts[1], "/".join(path), parts[3], parts[4]
    return urlparse.urlunsplit(parts)
Esempio n. 4
0
def rest_identify_endpoint(url):
    parts = urlparse.urlsplit(url)
    path = parts.path.rstrip('/').split('/')

    if path[-1] in ('export', 'exportImage'):
        path[-1] = 'identify'
    elif path[-1] in ('MapServer', 'ImageServer'):
        path.append('identify')

    parts = parts[0], parts[1], '/'.join(path), parts[3], parts[4]
    return urlparse.urlunsplit(parts)
Esempio n. 5
0
def auth_data_from_url(url):
    """
    >>> auth_data_from_url('http://localhost/bar')
    ('http://localhost/bar', (None, None))
    >>> auth_data_from_url('http://bar@localhost/bar')
    ('http://localhost/bar', ('bar', None))
    >>> auth_data_from_url('http://*****:*****@localhost/bar')
    ('http://localhost/bar', ('bar', 'baz'))
    >>> auth_data_from_url('http://*****:*****@@localhost/bar')
    ('http://localhost/bar', ('bar', 'b:az@'))
    >>> auth_data_from_url('http://bar foo; foo@bar:b:az@@localhost/bar')
    ('http://localhost/bar', ('bar foo; foo@bar', 'b:az@'))
    """
    username = password = None
    if '@' in url:
        scheme, host, path, query, frag = urlparse.urlsplit(url)
        if '@' in host:
            auth_data, host = host.rsplit('@', 1)
            url = url.replace(auth_data + '@', '', 1)
            if ':' in auth_data:
                username, password = auth_data.split(':', 1)
            else:
                username = auth_data
    return url, (username, password)
Esempio n. 6
0
def auth_data_from_url(url):
    """
    >>> auth_data_from_url('http://localhost/bar')
    ('http://localhost/bar', (None, None))
    >>> auth_data_from_url('http://bar@localhost/bar')
    ('http://localhost/bar', ('bar', None))
    >>> auth_data_from_url('http://*****:*****@localhost/bar')
    ('http://localhost/bar', ('bar', 'baz'))
    >>> auth_data_from_url('http://*****:*****@@localhost/bar')
    ('http://localhost/bar', ('bar', 'b:az@'))
    >>> auth_data_from_url('http://bar foo; foo@bar:b:az@@localhost/bar')
    ('http://localhost/bar', ('bar foo; foo@bar', 'b:az@'))
    """
    username = password = None
    if '@' in url:
        scheme, host, path, query, frag = urlparse.urlsplit(url)
        if '@' in host:
            auth_data, host = host.rsplit('@', 1)
            url = url.replace(auth_data+'@', '', 1)
            if ':' in auth_data:
                username, password = auth_data.split(':', 1)
            else:
                username = auth_data
    return url, (username, password)