Skip to main content

用于使用 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.ta​​r.gz (19.4 kB 查看哈希

已上传 source

内置发行版

eprinttools-0.1.7-py3.7.egg (41.6 kB 查看哈希

已上传 3 7

eprinttools-0.1.7-py3-none-any.whl (20.7 kB 查看哈希

已上传 py3