def read(self, service_url, timeout=config_loader(dataset="WMS_request_timeout")): """Get and parse a WMS capabilities document, returning an elementtree instance service_url is the base url, to which is appended the service, version, and request parameters """ getcaprequest = self.capabilities_url(service_url) # Don't specify a version if it is to be determined getcaprequest = getcaprequest.replace("&version=None", "").replace("?version=None", "") proxies = config_loader(dataset="proxies") # now split it up again to use the generic openURL function... spliturl = getcaprequest.split('?') u = openURL(spliturl[0], spliturl[1], method='Get', auth=self.auth, proxies=proxies) # (mss) Store capabilities document. self.capabilities_document = strip_bom(u.read()) return etree.fromstring(self.capabilities_document)
def readString(self, st): """Parse a WMS capabilities document, returning an elementtree instance. string should be an XML capabilities document """ if not isinstance(st, str) and not isinstance(st, bytes): raise ValueError("String must be of type string or bytes, not %s" % type(st)) raw_text = strip_bom(st) return etree.fromstring(raw_text)
def read(self, service_url, timeout=30): """Get and parse a WMS capabilities document, returning an elementtree instance service_url is the base url, to which is appended the service, version, and request parameters """ self.request = self.capabilities_url(service_url) # now split it up again to use the generic openURL function... spliturl = self.request.split('?') u = openURL(spliturl[0], spliturl[1], method='Get', timeout=timeout, headers=self.headers, auth=self.auth) raw_text = strip_bom(u.read()) return etree.fromstring(raw_text)
def read(self, service_url, timeout=30): """Get and parse a WMS capabilities document, returning an elementtree instance service_url is the base url, to which is appended the service, version, and request parameters """ self.request = self.capabilities_url(service_url) # now split it up again to use the generic openURL function... spliturl = self.request.split('?') u = openURL(spliturl[0], spliturl[1], method='Get', username=self.username, password=self.password, timeout=timeout, headers=self.headers) raw_text = strip_bom(u.read()) return etree.fromstring(raw_text)
def test_strip_bom(): assert strip_bom('<city>Hamburg</city>') == '<city>Hamburg</city>' assert strip_bom(codecs.BOM_UTF8 + '<city>Dublin</city>'.encode('utf-8')) == \ '<city>Dublin</city>'.encode('utf-8') assert strip_bom(codecs.BOM_UTF16 + '<city>Vancover</city>'.encode('utf-16')) == \ '<city>Vancover</city>'.encode('utf-16')