Python应用可以在自己的工作流中集成 pycsw 。这样就允许在 Flask与 Django 这样的框架中无缝集成
下面是一些使用API的示例(相对于默认的WSGI/CGI服务,可以使用:
import logging
from flask import Flask, request
from pycsw import __version__ as pycsw_version
from pycsw.server import Csw
LOGGER = logging.getLogger(__name__)
APP = Flask(__name__)
@APP.route('/csw')
def csw_wrapper():
"""CSW wrapper"""
LOGGER.info('Running pycsw %s', pycsw_version)
pycsw_config = some_dict # really comes from somewhere
# initialize pycsw
# pycsw_config: either a ConfigParser object or a dict of
# the pycsw configuration
#
# env: dict of (HTTP) environment (defaults to os.environ)
#
# version: defaults to '3.0.0'
my_csw = Csw(pycsw_config, request.environ, version='2.0.2')
# dispatch the request
http_status_code, response = my_csw.dispatch_wsgi()
return response, http_status_code, {'Content-type': csw.contenttype}