def owsproxy(request): """ TODO: use ows exceptions """ try: service_name = request.matchdict.get('service_name') extra_path = request.matchdict.get('extra_path') registry = service_registry_factory(request.registry) service = registry.get_service_by_name(service_name) except Exception as err: return HTTPBadRequest("Could not find service: %s." % (err.message)) else: return _send_request(request, service, extra_path, request_params=urllib.urlencode(request.params))
def remove(self): try: service_id = self.request.matchdict.get('service_id') self.csw.getrecordbyid(id=[service_id]) service=self.csw.records[service_id] self.csw.transaction(ttype='delete', typename='csw:Record', identifier=service_id ) # TODO: use events to unregister service registry = service_registry_factory(self.request.registry) # TODO: fix service name registry.unregister_service(name=service.title.lower()) self.session.flash('Removed Service %s.' % service.title, queue="info") except Exception,e: msg = "Could not remove service %s" % e logger.exception(msg) self.session.flash(msg, queue="danger")
def add_wps(event): request = event.request settings = event.request.registry.settings if settings.get('wps') is None: try: service_name = 'malleefowl' registry = service_registry_factory(request.registry) logger.debug("register: name=%s, url=%s", service_name, settings['wps.url']) registry.register_service(name=service_name, url=settings['wps.url']) # TODO: we need to register wps when proxy service is up settings['wps'] = WebProcessingService(url=proxy_url(request, service_name), skip_caps=True, verify=False) logger.debug("init wps") except: logger.exception('Could not connect malleefowl wps %s', settings['wps.url']) else: logger.debug("wps already initialized") event.request.wps = settings.get('wps')
def owssecurity_factory(registry): return OWSSecurity(tokenstore_factory(registry), service_registry_factory(registry))
def _setup_registry(self, config): registry = service_registry_factory(config.registry) registry.clear_services() # TODO: testing against ourselfs ... not so good url = "https://localhost:38083/ows/wps" registry.register_service(url=url, name="twitcher")
def __init__(self, request): self.request = request registry = self.request.registry self.tokengenerator = tokengenerator_factory(registry) self.tokenstore = tokenstore_factory(registry) self.registry = service_registry_factory(registry)