def _getWCSMetadata(self, wcs, layer): oldProxy = proxyFix(wcs.url) try: layerMetadata = wcs[layer] bboxLimits = ",".join([str(x) for x in layerMetadata.boundingBoxWGS84]) timepositions = layerMetadata.timepositions supportedFormats = layerMetadata.supportedFormats supportedCRS = layerMetadata.supportedCRS finally: resetProxy(oldProxy) return layerMetadata, bboxLimits, timepositions, supportedFormats, supportedCRS
def _getWCSObj(self, endpoint): oldProxy = proxyFix(endpoint) try: log.debug("wcs endpoint = %s" % (endpoint,)) getCapabilitiesEndpoint = parseEndpointString(endpoint, {"Service": "WCS", "Request": "GetCapabilities"}) log.debug("wcs endpoint = %s" % (getCapabilitiesEndpoint,)) # requires OWSLib with cookie support wcs = WebCoverageService( getCapabilitiesEndpoint, version="1.0.0", cookies=request.headers.get("Cookie", "") ) layers = [x[0] for x in wcs.items()] finally: resetProxy(oldProxy) return wcs, layers
log.debug("Checking for value for dimension %s" % dimensionName) if dimensionName in params: args[dimensionName] = params[dimensionName] log.debug("Found value %s" % params[dimensionName]) log.debug("args = %s" % (args,)) # Perform the GetCoverage request. oldProxy = proxyFix(endpoint) try: output = wcs.getCoverage(**args) except Exception, e: log.exception("Exception occurred") raise finally: resetProxy(oldProxy) # Retrieve the content disposition and type headers. responseHeaders = {} for k in output.headers.keys(): v = output.headers[k] log.debug("Header %s=%s" % (k, v)) if k.lower() == "content-disposition": responseHeaders["Content-Disposition"] = v match = CONTENT_FILENAME_REGEX.search(v) try: responseHeaders["filename"] = match.group("filename") except IndexError: pass elif k.lower() == "content-type":