Source code for officiumdivinum.bible.vulgate
from pathlib import Path
from re import search
from dotmap import DotMap
from ..objects import Verse
from .bible import Bible
[docs]class Vulgate(Bible):
[docs] def from_file(self, fn: Path):
current_book_name = "Gn"
book = DotMap()
with fn.open() as f:
for line in f.readlines():
results = search(
r"([0-9]* *.+?) ([0-9]+) ([0-9]+) (.*)", line.strip()
).groups()
book_name, chapter, verseno, verse = results
book_name = book_name.replace(" ", "")
chapter = int(chapter)
verseno = int(verseno)
if book_name != current_book_name:
self.content[current_book_name] = book
book = DotMap()
current_book_name = book_name
try:
book[chapter][verseno] = Verse(
verseno, chapter, book_name, verse, self.version
)
except KeyError:
book[chapter] = DotMap()
book[chapter][verseno] = Verse(
verseno, chapter, book_name, verse, self.version
)
self.content[book_name] = book
[docs] def load(self, app):
"""
Load content.
We can get this from a database later.
"""
import os
print(os.getcwd())
fn = Path(app.root_path) / "../bible/vulgate.txt"
self.from_file(fn)