Esempio n. 1
0
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))
Esempio n. 2
0
 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")
Esempio n. 3
0
 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')
Esempio n. 4
0
def owssecurity_factory(registry):
    return OWSSecurity(tokenstore_factory(registry), service_registry_factory(registry))
Esempio n. 5
0
 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")
Esempio n. 6
0
 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)