使用usfm引用的工具

USFM-References的Python项目详细描述


USFM参考资料

Build StatusCoverage Status

usfm(统一标准格式标记)圣经参考的验证器

要求

此项目需要Python3.5或更高版本

安装

要安装,请使用

pip install usfm-references

用法

导入一个方法,如

from usfm_references import valid_chapter, valid_chapter_or_intro, valid_usfm, valid_verse

验证方法都是从valid_开始的。只有一个参数 它应该是usmf引用的字符串表示形式。他们都是 返回一个布尔值,该值表示字符串是否对 方法验证所依据的类型。

例如,如果您有一个字符串my_reference,其中引用了Genesis 1:1, 合适的usfm引用应该是GEN.1.1。你可以用有效的诗歌 确保其正确的方法,如

if valid_verse(my_reference):
    # do stuff

注意:这些验证器与正则表达式模式匹配。符合 通用USFM标准。它们不能确保UFM实际上存在于任何 特别的圣经版本。

当前支持的验证程序是:

  • valid_chapter-确保传递的字符串是有效的usfm章节引用
  • valid_chapter_or_intro-确保传递的字符串是有效的usfm章节 或简介
  • valid_usfm-确保传递的字符串是有效的usfm引用(可以是verse、chapter或intro)
  • valid_verse-确保传递的字符串是有效的usfm verse引用

开发

这个项目是用python 3.6编写的,在ci中用python3.5-3.6进行了测试。 其中一个必须在本地开发和测试之前安装。

在Mac上,您可以使用以下命令启动和运行。

brew install python3.6

否则运行

brew upgrade python3.6

以确保您拥有最新版本。

此项目使用pipenv进行依赖关系管理。安装pipenv

pip3 install pipenv

设置项目环境

pipenv install --three --dev

使用此示例创建.env文件

exportPYTHONPATH=`pwd`

现在加载virtualenv和任何.env文件

pipenv shell

运行测试

./linters.sh && pytest --cov=usfm_references tests/

在提交任何代码之前

我们有一个应该设置的预提交挂钩。 通过将目录更改为repo并运行,可以将其符号链接到每次提交之前运行

cd .git/hooks
ln -s ../../pre-commit pre-commit

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JPA。Eclipselink没有为mySQL提供密码,但它应该提供   我的Servlet和@FormDataParam存在java问题   java将什么作为上下文参数传递到文件I/O方法中?   如果两个值相同,java无法找到其中一个单选按钮   java在变量和方法名中使用下划线   JavaSpringMVC单线程安全?   klazz类的java Arraylist(反射Api)   java如何在数字字符串中查找最频繁的数字?   JavaAPI设计:使数据更易于阅读与强制更多API调用   JavaHadoopMapReduceforGoogleWebGraph   java无法启动gauge API:Runner意外退出   java如何在bluemix上使用ibm工作负载调度器?   拉取一年中某一周特定日期的所有日期   java为什么是我的角节点。js应用程序将图像上传到S3� 邮递员正确上传时的符号?   在不使用任何第三方jar的情况下将文件从本地传输到linux系统(java代码)   java将现有文件夹复制到Eclipse工作区中新创建的项目中   Java中的regex RegExp帮助   当使用“系统”外观时,Java组合框setSelectedItem会出现故障   JavaASM:在类的方法中获取局部变量名和值