Skip to main content

允许将数据集联合(推送)到另一个存储库

项目描述

CKAN 插件,用于将数据集联合到另一个 CKAN 实例。

该插件提供了一种将数据集联合到另一个 CKAN 实例的机制。如果数据集的自定义元数据中的联合标志设置为True,则对数据集的任何更新都将反映在联合版本中。联合数据集中的资源存储为原始资源的 URL。您必须拥有 CKAN 目标实例上用户的 API 密钥。请参阅下面的配置设置部分。

插件可以通过执行操作update_dataset_for_syndication和修改dataset_dict 值来修改发送给联合的数据 。如果 CKAN 实例之间的模式不同,这很有用。

要求

  • 使用 CKAN 2.5.2 测试

  • 需要芹菜

  • 要通过 SSL 工作,需要pyOpenSSL、ndg-httpsclient和pyasn1

  • 通过主管在生产环境中运行 Celery 可能很有用

安装

要安装 ckanext-syndicate:

  1. 激活您的 CKAN 虚拟环境,例如:

    . /usr/lib/ckan/default/bin/activate
  2. 将 ckanext-syndicate Python 包安装到您的虚拟环境中:

    pip install ckanext-syndicate
  3. 将syndicate添加到 CKAN 配置文件中的ckan.plugins设置(默认情况下,配置文件位于 /etc/ckan/default/production.ini)。

  4. 重启 CKAN。例如,如果您在 Ubuntu 上使用 Apache 部署了 CKAN:

    sudo service apache2 reload
  5. 您还需要设置芹菜。在开发环境中,这可以通过虚拟环境中的以下 paste 命令来完成:

    paster --plugin=ckan celeryd run -c /etc/ckan/default/development.ini
  6. 在生产环境中,可以通过 supervisor 配置 celery,例如/etc/supervisor/conf.d/celery.conf:

    [program:celery]
    autorestart=true
    autostart=true
    command=/usr/lib/ckan/default/bin/paster --plugin=ckan celeryd --config=/etc/ckan/default/production.ini
    numprocs=1
    priority=998
    redirect_stderr=true
    startsecs=10
    stderr_logfile=/var/log/celeryd.log
    stdout_logfile=/var/log/celeryd.log
    stopwaitsecs=600
    user=www-data

配置设置

# The URL of the site to be syndicated to
ckan.syndicate.ckan_url = https://data.humdata.org/

# The API key of the user on the syndicated site
ckan.syndicate.api_key = 9efdd954-c643-444a-97a1-c9c374cef861

# The custom metadata flag used for syndication
# (optional, default: syndicate).
ckan.syndicate.flag = syndicate_to_hdx

# The custom metadata field to store the syndicated dataset ID
# on the original dataset
# (optional, default: syndicated_id)
ckan.syndicate.id = hdx_id

# A prefix to apply to the name of the syndicated dataset
# (optional, default: )
ckan.syndicate.name_prefix = my-prefix

# The name of the organization on the target CKAN to use when creating
# the syndicated datasets
# (optional, default: None)
ckan.syndicate.organization = my-org-name

开发安装

要安装 ckanext-syndicate 进行开发,请激活您的 CKAN virtualenv 并执行以下操作:

git clone https://github.com/aptivate/ckanext-syndicate.git
cd ckanext-syndicate
python setup.py develop
pip install -r dev-requirements.txt

另请参阅安装

运行测试

要运行测试,请执行以下操作:

nosetests --nologcapture --with-pylons=test.ini

要运行测试并生成覆盖率报告,首先确保你的 virtualenv 中安装了覆盖率(pip install coverage)然后运行:

nosetests --nologcapture --with-pylons=test.ini --with-coverage --cover-package=ckanext.syndicate --cover-inclusive --cover-erase --cover-tests

在 PyPI 上注册 ckanext-syndicate

ckanext-syndicate 应该在 PyPI 上作为 https://pypi.python.org/pypi/ckanext-syndicate可用。如果该链接不起作用,那么您可以按照以下步骤首次在 PyPI 上注册项目:

  1. 创建项目的源代码分发:

    python setup.py sdist
  2. 注册项目:

    python setup.py register
  3. 将源分发上传到 PyPI:

    python setup.py sdist upload
  4. 使用setup.py文件中的版本号标记 GitHub 上项目的第一个版本。例如,如果setup.py中的版本号为 0.0.1,则执行以下操作:

    git tag 0.0.1
    git push --tags

发布新版本的 ckanext-syndicate

ckanext-syndicate 在 PyPI 上可用https://pypi.python.org/pypi/ckanext-syndicate。要将新版本发布到 PyPI,请执行以下步骤:

  1. 更新setup.py文件中的版本号。 有关如何选择版本号的信息,请参阅PEP 440 。

  2. 创建新版本的源代码分发:

    python setup.py sdist
  3. 将源分发上传到 PyPI:

    python setup.py sdist upload
  4. 使用setup.py文件中的版本号标记 GitHub 上项目的新版本。例如,如果setup.py中的版本号是 0.0.2,那么执行以下操作:

    git tag 0.0.2
    git push --tags

项目详情


下载文件

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

源分布

ckanext-syndicate-1.0.1.tar.gz (11.6 kB 查看哈希)

已上传 source