Bible Ref Py是一个建立在python经典库之上的python库,由david davisd<davisd@davisd.com>实现(版权所有(c)2010-2015)。它是一个python包和正则表达式库,用于验证、提取和规范来自文本的圣经引用。
beatitud-scriptures的Python项目详细描述
圣经参考号py
Bible Ref Py是一个与Python2和Python3兼容的包,并且是常规的 用于验证、提取和规范圣经的表达式库 参考文献。
bible ref py由Beatitud developers在python经典库之上构建,最初由 David Davis(版权所有(c)2010-2015)。
典型用法如下:
fromscriptures.textimportTextstring="Le service est le billet à présenter à l’entrée des noces éternelles. Ce qui reste de la vie au seuil de l’éternité, ce n’est pas ce que nous avons gagné, mais ce que nous avons donné (cf. Mt 6, 19-21 ; 1Co 13, 8)"text=Text(string,language='fr',canon='catholic')text.extract_refs(guess=True)# [<Ref(Matthieu 6:19-21)>, <Ref(I Corinthiens 13:8)>]
范围验证是自动执行的,无效引用不是 提取。
fromscriptures.referenceimportReferenceReference(book='Rom',chapter=2,verse=30).is_valid()# FalseReference(book='Rom',chapter=3,verse=23).is_valid()# True
根据以下三条规则,可以猜出单节数字引用:
- 如果在同一句话中有一个完整的参考文献,那么在前面,我们假设同一个诗句所指的书籍和章节与这个完整的参考文献相同
- 否则,如果在同一段中有一个完整的参考文献,那么我们假设这一节引用的书和章节与这一完整的参考文献相同
- 否则,如果文本中有完整的参考文献,在前面的段落中,我们假设单个诗句指的是那些书籍和章节
fromscriptures.textimportTextstring="Les disciples « sortirent à la rencontre de l’époux » (Mt 25, 1). Puis : « Voici l’époux, sortez à sa rencontre ! » (v. 6)."text=Text(string,language='fr',canon='catholic')text.extract_refs(guess=True)# [<Ref(Matthieu 25:1)>, <Ref(Matthieu 25:6)>]
安装
要安装,只需使用install命令运行脚本:
$ pip install beatitud-scriptures
或者把经文包放在python路径的某个地方。
API返回值
当“经文参考”被返回时,它总是一个具有五个属性的对象 包括:
- 书本
- 章节
- 诗
- 结束章节
- 结束语
fromscriptures.referenceimportReferenceref=Reference(book='Rom',chapter=2,verse=30)print(ref.book)# Romansprint(ref.chapter)# 2
正则表达式
这个包公开了两个已编译的正则表达式模式。
预订
匹配有效的缩写或书名。
示例:
fromscriptures.canonsimportget_canonimportrecanon=get_canon(name="catholic")re.findall(canon.book_re,'Matt test Ecclesiastes and 2 peter')# ['Matt', 'Ecclesiastes', '2 peter']
经文
根据有效的缩写或书名匹配经文参考模式。
示例:
fromscriptures.textimportTextimportretxt=Text("",language="en",canon="catholic")re.findall(txt.scripture_re,'Matt 3 & Acts 1:2-3 Rev 2:1-3:2')# [('Matt', '3', '', '', ''), ('Acts', '1', '2', '', '3'),# ('Rev', '2', '1', '3', '2')]
佳能
此库当前提供以下佳能:
- 天主教-经文.教规.天主教.教规
- 新教徒-经文.教规.新教徒.教规
- 申命记-经文.经典.申命记.经典
- kjv1611-经文.canons.kjv1611.canon
用法
要使用其他文本,只需实例化文本对象并使用api 新实例上的函数和正则表达式。
示例
fromscriptures.canons.catholicimportCanoncc=Canon(language='en')print(cc.books)# {'gn': {# 'en': ('Genesis', 'Gen', 'Gen(?:esis)?'),# 'fr': ('Genèse', 'Gn', 'Gen(?:èse)?'),# 'chapters':# [31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35,# 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26]# },# ...}
定制佳能
图书馆通过自定义文本扩展图书馆 通过附加模块实现。请考虑投稿 通过在经文/正典下创建正典并提交本项目的模块 拉取请求。
创建新佳能
要创建新佳能,
- 创建继承自经典.base.canonbase的类
- 实现“books”字典
- 实例化您的新佳能并使用它
测试套件
提供单元测试来验证章节和诗体风格的规范化、输出 格式,书名和缩写。
要运行测试套件,请将cwd设置为刚好在经文包之外,然后:
$ python -m unittest discover