用于使用 EPrints 3.x REST API 的命令行工具、Golang 包和 Python 模块
项目描述
电子打印工具
eprinttools 是一个用 Go 编写的命令行工具的集合,一个 Go 包和一组命令行实用程序,用于使用 Python 3 编写的 EPrints 3.x EPrint XML 和 REST API。最终计划让这个项目成为一个纯 Python项目。
该项目还托管演示代码,以在 EPrints 之外复制面向公众的 EPrints 存储库版本。将其视为公众视图和登录页面。
去基础代码
命令行程序
- eputil是一个命令行实用程序,用于从 EPrints 的 REST API 交互(例如收集)JSON 和 XML
- 使用最少的配置,因为它做的更少!
- 它取代了ep命令
- epfmt是一个命令行实用程序,可以漂亮地打印 EPrints XML 并在 JSON 之间进行转换
- 在漂亮打印的过程中,它还根据 eprinttools Go 包定义验证 EPrints XML
- doi2eprintxml是一个命令行程序,用于将从 CrossRef 和 DataCite 收集的元数据转换为基于一个或多个提供的 DOI 的 EPrint XML 文档
- eprintxml2json是一个命令行程序,用于获取 EPrint XML 并将其转换为 JSON
可以从环境或命令行选项配置前两个实用程序。环境设置被命令行选项覆盖。有关运行任一命令的详细信息,请使用“-help”选项调用工具名称。
Python基础代码
Python 模块
eprints3x
这个 python 模块在 Python 中包装了eputil Go 命令。它使使用 EPrints REST API 实现收集 EPrints 存储库变得微不足道。
电子版
这个 python 模块使用 py_dataset 和收获的内容来生成一个类似于 EPrints 的 URL 布局的 htdocs 目录。它具有用于处理视图、用户(需要为从 REST API 获取的 EPrint XML 用户 ID 字段的名称属性)、主题(一种从 EPrints 存档加载主题文本文件并生成渲染时使用的标签映射的路径的方法)的类视图到 htdocs 目录)和聚合器(这完成了处理收集到的 EPrint XML 的数据集集合并将视图生成为 htdocs 目录中的 JSON 文档的繁重工作)。
命令行工具
收割机_full.py,收割机_recent.py
这两个 Python 程序使用eprints3x模块将 EPrint XML 和任何相关的数字对象(例如 PDF、图像)收集到数据集集合中
genviews.py
这个 Python 程序处理一个数据集集合并呈现一个 htdocs 树,其中填充了 JSON 文档和密钥列表。然后可以将这个元数据和目录结构的骨架处理成一个呈现的网站,该网站反映了来自 EPrints 存储库的内容。该模块依赖于eprintviews。
索引器.py
这个 Python 程序通过在代表复制存储库的登录页面的scheme.json文件旁边创建文件来索引我们复制的 EPrints 站点的内容。index.json然后可以轻松地将这些内容引入 Lunr.js 或 Elasticsearch。目前,概念证明的目标是 Lunr.js。该模块依赖于eprintviews。
mk_website.py
这个 Python 程序从静态文件夹(例如主页和主要登录页面)中的 Markdown 文档创建 HTML 页面,以及从genviews.py创建的 JSON 文档中创建单个视图和摘要。最终结果是一个准备好向公众提供服务的静态网站。该模块依赖于eprintviews。
发布者.py
此 Python 程序通过 AWS 命令行工具使用 AWS S3 存储桶复制(同步)内容。
相关 GitHub 项目
py_dataset
这个 Python 模块提供对数据集集合的访问,我们将其用作 JSON 文档和相关附件的中间存储。
艾姆斯
eprintools 命令行程序已通过AMES项目提供给 Python。这包括对 EPrints 存储库系统的读写支持。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
内置发行版
eprinttools -0.1.7.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 54ab939d23e26eca1c653c5afb564141643362e0ae38f0e9c55d7503b21da744 |
|
| MD5 | 1dca539da8328b03123b983af3888a60 |
|
| 布莱克2-256 | 8d12d029f31074d2d7c2e7cdab823b2cae889ab0fe451cb8148746351e54d622 |
eprinttools -0.1.7-py3.7.egg 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 044ee9fc7fbaeaf098b3edcc406861ad52aa011ab8900eca516f18b5b4a1fce1 |
|
| MD5 | 1eb22be6ac68e2b9993b939e5a39ce4a |
|
| 布莱克2-256 | 6d865c8a3f14177dc851f393ac3ca173ac1ff96fad55e17b32982474a0ba367f |
eprinttools -0.1.7-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | cca83810267e6307589f4df0ec2e2c552583aabb35b4280872eae8971fffbff0 |
|
| MD5 | 77d71f27da9e914cfe9d2859684ae34f |
|
| 布莱克2-256 | b76c745cd331bf284bc18da3c678931b07a27083b63b50552bf596d4d1c768ba |