from sqlalchemy import engine_from_config import sqlahelper from owslib.wms import WebMapService from xml.dom.minidom import parseString from math import sqrt from c2cgeoportal.lib import get_setting, caching, get_protected_layers_query from c2cgeoportal.lib.functionality import get_functionality from c2cgeoportal.models import DBSession, Layer, LayerGroup, \ Theme, RestrictionArea, Role, User from c2cgeoportal.lib.wmstparsing import parse_extent, TimeInformation _ = TranslationStringFactory('c2cgeoportal') log = logging.getLogger(__name__) cache_region = caching.get_region() class Entry(object): WFS_NS = "http://www.opengis.net/wfs" def __init__(self, request): self.request = request if request.user: request.response.cache_control.private = True else: request.response.cache_control.public = True request.response.cache_control.max_age = \ request.registry.settings["default_max_age"] self.settings = request.registry.settings
from xml import sax from xml.sax import saxutils from xml.sax.saxutils import XMLFilterBase, XMLGenerator from xml.sax.xmlreader import InputSource from pyramid.httpexceptions import HTTPBadGateway from sqlalchemy import distinct from owslib.wms import WebMapService from c2cgeoportal.lib import caching, get_protected_layers_query, \ get_writable_layers_query, add_url_params from c2cgeoportal.models import DBSession, Layer cache_region = caching.get_region() log = logging.getLogger(__name__) @cache_region.cache_on_arguments() def get_protected_layers(role_id): q = get_protected_layers_query(role_id, distinct(Layer.name)) return [r for r, in q.all()] @cache_region.cache_on_arguments() def get_private_layers(): q = DBSession.query(Layer.name).filter(Layer.public.is_(False)) return [r for r, in q.all()]
import logging import simplejson as json from simplejson.decoder import JSONDecodeError from pyramid.view import view_config from pyramid.response import Response from pyramid.httpexceptions import HTTPBadGateway from c2cgeoportal.lib.caching import get_region, \ set_common_headers, NO_CACHE, PRIVATE_CACHE from c2cgeoportal.lib.functionality import get_functionality from c2cgeoportal.views.proxy import Proxy log = logging.getLogger(__name__) cache_region = get_region() class PrintProxy(Proxy): # pragma: no cover def __init__(self, request): Proxy.__init__(self, request) self.config = self.request.registry.settings def _get_capabilities_proxy(self, filter_, *args, **kwargs): resp, content = self._proxy(*args, **kwargs) if self.request.method == "GET": try: capabilities = json.loads(content) except JSONDecodeError as e:
import urllib.parse import urllib.error import logging import json from pyramid.view import view_config from pyramid.response import Response from pyramid.httpexceptions import HTTPBadGateway from c2cgeoportal.lib.caching import get_region, set_common_headers, NO_CACHE, PRIVATE_CACHE from c2cgeoportal.lib.functionality import get_functionality from c2cgeoportal.views.proxy import Proxy log = logging.getLogger(__name__) cache_region = get_region() class PrintProxy(Proxy): # pragma: no cover def __init__(self, request): Proxy.__init__(self, request) self.config = self.request.registry.settings def _get_capabilities_proxy(self, filter_, *args, **kwargs): resp, content = self._proxy(*args, **kwargs) if self.request.method == "GET": if resp.status == 200: try: capabilities = json.loads(content) except json.JSONDecodeError as e: