向数据集添加“全部下载”按钮的ckan扩展
ckanext-downloadall的Python项目详细描述
ckanext全部下载
这个ckan扩展向数据集添加了一个"全部下载"按钮。这个下载 包含所有资源文件和datapackage.json的zip文件。
此zip文件是打包数据以便存储或发送的好方法,因为:
- 将所有数据文件放在一起
- 包括文档(元数据)-避免了 交了一些数据文件,但对它一无所知,也不知道在哪里可以找到信息
-
元数据是机器可读的,因此可以由工具、软件和
自动化工作流程。例如:
- 验证一系列数据发布都符合标准模式
- 使用列类型和外键将其加载到数据库中 元数据中指定的关系
data package.json是一个 无摩擦数据 标准,也称为数据包。
技术说明
如果资源被推送/加载到数据存储,那么架构(列类型) 也包含在datapackage.json文件中。
此扩展使用ckan后台作业在每次 数据集已创建或更新(或其数据字典已更改)。这套衣服 上载所有文件的ckan—如果基础数据文件更改 如果不更改ckan url,那么zip将不包括更新(直到 其他一些东西会触发zip进行更新。
(此扩展的灵感来自于ckanext-packagezip,但它是旧的、可靠的。 在ckanext archiver和ipipipe上。)
要求
设计用于CKAN 2.7+
理想情况下,它与数据存储和 xloader<;https://github.com/ckan/ckanext xloader>; (或datapusher),以便 数据字典作为模式包含在datapackage.json中,用于描述 列类型。
安装
tall ckanext下载全部:
激活您的CKAN虚拟环境,例如:
. /usr/lib/ckan/default/bin/activate
将ckanext downloadall python包安装到您的虚拟环境中:
pip install ckanext-downloadall
将 downloadall 添加到ckan中的 ckan.plugins 设置中 配置文件(默认情况下,配置文件位于 /etc/ckan/default/production.ini)。例如
ckan.plugins = downloadall
重新启动ckan工作进程。例如,如果您已将其与supervisord一起部署:
sudo supervisorctl restart ckan-worker:ckan-worker-00
重新启动ckan服务器。例如,如果您在 Ubuntu:< /P>
sudo service apache2 reload
配置设置
目前没有
命令行界面
有一个命令行界面:
downloadall --help
使用示例:
downloadall update-zip gold-prices downloadall update-all-zips
故障排除
"所有资源数据"显示为普通资源,而不是 "全部下载"按钮
您需要在ckan配置中启用此扩展并重新启动服务器。 请参见上面的安装部分。
重要错误:没有名为datapackage的模块
这意味着你有一个旧版本的ckanapi,它是 ckanext全部下载。安装新版本。
错误:[errno 13]权限被拒绝:'/data/ckan/resources/c89'
您试图从命令行更新zips,但正在运行任务 同步的,而不是与正常的工作进程同步的。在这种情况下你 需要以www data用户的身份运行,例如:
sudo -u www-data /usr/lib/ckan/default/bin/downloadall -c /etc/ckan/default/production.ini update-all-zips --synchronous
开发安装
要安装ckanext downloadall进行开发,请激活ckan virtualenv 并做:
git clone https://github.com/davidread/ckanext-downloadall.git cd ckanext-downloadall python setup.py develop pip install -r dev-requirements.txt
记住运行worker(在单独的终端中):
. /usr/lib/ckan/default/bin/activate0
运行测试
要运行测试,请执行:
. /usr/lib/ckan/default/bin/activate1
要运行测试并生成覆盖率报告,首先确保 在您的virtualenv中安装了coverage( pip install coverage ),然后运行:
. /usr/lib/ckan/default/bin/activate2
发布新版ckanext downloadall
ckanext downloadall在pypi上可用,其网址为https://pypi.org/project/ckanext-downloadall/" rel="nofollow">https://pypi.org/project/ckanext downloadall/。 要将新版本发布到pypi,请执行以下步骤:
更新 setup.py 文件中的版本号。 参见 pep 440 如何选择版本号。
使用此版本的详细信息更新changelog.md。
确保您有最新版本的必要软件包:
. /usr/lib/ckan/default/bin/activate
3创建新版本的源和二进制发行版:
. /usr/lib/ckan/default/bin/activate
4修正任何错误。
将源分发上载到pypi:
. /usr/lib/ckan/default/bin/activate
5提交任何未完成的更改:
. /usr/lib/ckan/default/bin/activate
6在github上标记项目的新版本,版本号为 setup.py 文件。例如, setup.py 中的版本号是 0.0.1然后执行:
. /usr/lib/ckan/default/bin/activate
7