跳转到主要内容

用于推送特定数据集的SAFE策略的实用程序。

项目描述

# WP-DSO-Publish

## 操作

基于[Pyforms](https://pyforms-gui.readthedocs.io/en/v4/index.html)的GUI,发布到safe两个工作流程策略(一个用于研究和基础设施审批,分别)和一个需要两者都满足才能授予访问权限(通过[Presidio](https://github.com/RENCI-NRIG/impact-presidio))的数据集策略。这与SAFE ImPACT [MVP示例](https://github.com/RENCI-NRIG/impact-docker-images/tree/master/safe-server/1.0.1)一致。

需要Python3和pip3。将软件包安装到虚拟环境(它应该会拉入所有依赖项):`bash $ mkvirtualenv wpdso (wpdso) $ pip install wp-dso-publish `

运行它很简单(现在应该在PATH上):`bash (wpdso) $ wp-dso-publish.py `

GUI显示两个选项卡 - 一个包含两个工作流程和数据集的标识符,另一个包含SAFE参数。标识符可以手动填写或自动生成(GUID)使用“生成按钮”。SAFE服务器基本URL会自动填写。数据集所有者主实体的SAFE 公共密钥名称也必须通过文件浏览器指定(通常具有.pb扩展名)。

警告:指向的公钥必须是您与之通信的SAFE服务器可访问的密钥之一(即在其-kd密钥目录中),否则您将收到以下错误:Selfie错误:`bash Error: POST失败由于错误:查询失败,消息:safe.safelog.UnSafeException:无法签名,因为主体(Selfie)未定义 Set(StrLit(Self))`

填写完所有参数后,请点击“将组合策略推送到SAFE”按钮,并检查结果。

如果一切按计划进行,请在将工作流程注册到公证服务时复制并粘贴工作流程标识符。类似地,在注册数据集时复制并粘贴数据集标识符。

## 保存设置

如果存在名为“saved-settings.py”的文件,则该应用程序依赖于confapp模块以Python代码的形式从该文件中恢复设置。在按下“保存设置”按钮时保存任何填写的设置,并在程序下次启动时自动恢复。如果需要,可以手动编辑该文件。以下参数(作为字符串)需要定义(示例):` RESEARCH_APPROVAL_ID = '53f8e808-5d91-4eff-8ecf-ab7d2dcda4d3' INFRASTRUCTURE_APPROVAL_ID = 'cf6d4ef7-d07a-4a7f-8ff5-1ec925f8df9b' DATASET_ID = '05b88841-d14b-471d-8e0f-5da29bf8da68' PUBLIC_KEY_PATH = '/path/to/public/key/key.pub' SAFE_URL = 'http://localhost:7777/' `

## 调整

布局部分硬编码在代码中(参见__main__.py的最后一行):` if __name__ == "__main__": pyforms.start_app(AppGUI, geometry=[100, 100, 500, 700]) `,它指定了主窗口的几何形状。找不到更优雅的方式来做到这一点。

其余的布局包含在相同目录下的[style.css](wp_dso_publish/style.css)文件中。

## 构建和发布到PyPi

请确保已安装twine。编辑setup.py以更新版本号,然后(确保您处于正确的Python虚拟环境中)

`bash $ rm -rf dist/ build/ wp_dso_publish.egg-info/; ./setup.py sdist; ./setup.py bdist_wheel --universal $ twine upload dist/* `

正确的PyPi位置是https://pypi.ac.cn/project/wp-dso-publish/

遵循顶部安装步骤,但请记住,从推送到最后一个工件可用之间存在延迟(您可以使用pip install wp-dso-publish==<version>强制安装版本)。

项目详情


下载文件

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

源分布

wp_dso_publish-0.30.tar.gz (8.9 kB 查看散列)

上传

构建分布

wp_dso_publish-0.30-py3-none-any.whl (8.7 kB 查看散列)

上传 Python 3

由以下支持