跳转到主要内容

pyramid_oereb,为pyramid web框架提供的oereb项目基本服务器部分

项目描述

项目描述

pyramid_oereb 是瑞士“土地所有权公法限制登记册” (PLR-cadastre)服务器端部分的开源实现。

它使用 Python 编写,并设计为 Pyramid Web 框架 的插件。这使得 pyramid_oereb 可以为任何 Pyramid 网络应用程序所包含。

有关详细信息以及安装和配置说明,请参阅文档

如果您有兴趣为该项目做出贡献或扩展它,请查看贡献页面

启动开发服务器

  1. 根据您的操作系统构建运行初始构建

    • docker network create print-network

    • Linux: docker compose run --rm -u $(id -u):$(id -g) oereb-make build

    • MAC/Windows: docker compose run --rm oereb-make build

  2. docker compose up

运行 docker compose up 将启动数据库(它将在启动时自动导入测试/开发数据)并启动一个连接到数据库的 pyramid_oereb 开发服务器实例。项目文件夹已挂载到其中。因此,更改将生效。

样本静态提取应可在http://localhost:6543/oereb/extract/json?EGRID=CH113928077734 获取

运行测试

要本地运行测试

使用 docker 的方法

  • docker network create print-network

  • Linux: docker compose run --rm -u $(id -u):$(id -g) oereb-server make build tests

  • MAC/Windows: docker compose run --rm oereb-server make build tests

对于具有本地 make 工具的系统,可以使用以下配方: make docker-tests

有时本地的 postgres 端口已被占用,您必须覆盖它: EXPOSED_PGPORT=5433 make docker-tests

本地测试

对于不需要完整 docker 组合的本地测试,您需要一个正在运行的数据库。您可以根据 oereb 图像创建一个: docker compose up -d oereb-db

或创建一个空的 postgis 数据库 docker run -p 5555:5432 --name pg_oereb --rm -it -e POSTGRES_PASSWORD=pw postgis/postgis

然后您可以轻松运行测试: make tests

如果数据库不使用标准凭证,您可以将其设置为环境变量: PGPORT=5555 PGPASSWORD=pw make tests

运行特定测试

docker compose exec oereb-server PYTEST_OPTS="-k <name_of_the_test>" make tests

故障排除

一些本地文件可能来自之前的构建,并且普通用户可能无法删除它们。在这种情况下,可以通过以下方式清理:

docker compose run --rm oereb-make clean-all

有用的 make 目标

Makefile 中找到的 make 目标可以在 oereb-server 容器中运行(如果使用 docker compose),或者在本地 shell 中运行(如果本地运行服务器)。一些有用的目标:

  • make serve-dev 来运行应用程序

  • make tests 来运行应用程序测试

  • make docker-tests 来在 docker 组合中运行应用程序测试,这样就不必关心本地设置

  • 使用make clean清空数据库

  • 使用make clean-all清空数据库,卸载应用和虚拟环境,并清除已渲染的配置文件

  • 使用make docker-clean-all清理docker容器写出的所有内容。当docker创建了只有root权限的文件时,这有时很有用

如有必要,在再次运行make serve-dev时,将重新安装应用并填充数据库。

还有其他make目标可以检查联邦数据的有效性

  • 使用make check_fed_data下载当前已知的联邦数据定义,并与活动数据比较

  • 使用make update_fed_data_urls尝试从服务器的索引页检索新URL。然后必须将fed.urls文件提交到repo

  • 使用make update_fed_data_urls在repo中生成新的JSON文件。然后必须提交修改后的文件

  • 使用make auto_update_fed_data自动查找新URL,生成JSON数据,并将JSON复制到项目中。如果fed.urls和dev/sample_data/ch.*.json文件被修改,则必须提交

使用MapFish-Print

为了测试OEREB静态提取(pdf),您需要使用pyramid_oerebdocker compose运行,并拥有pyramid_oereb_mfp的运行实例。还需要Docker网络print-network,可以使用以下命令创建:

docker network create print-network

也可以在本地URL(通过Docker或不通过Docker)上启动Mapfish Print服务,然后通过make serve运行服务器。必须提供正确的打印URL

PRINT_URL="http://localhost:8680/print/oereb" EXPOSED_PGPORT=5433 PGPORT=5433 make serve-dev

示例静态提取应该可以在http://localhost:6543/oereb/extract/pdf?EGRID=CH113928077734找到

CI状态

master分支上的CI状态

Master CI status

每日检查状态

Daily check status

代码质量状态

Codacy Badge

项目详情


发布历史 发布通知 | RSS源

下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

pyramid_oereb-2.5.3.tar.gz (143.5 kB 查看哈希值)

上传于

构建分发

pyramid_oereb-2.5.3-py3-none-any.whl (283.1 kB 查看哈希值)

上传于 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面