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')
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)
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)
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)
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)