Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ data/*
!data/srp1865_usfx.xml
!data/eng-lxx2012_usfx.xml
!data/eng-web_usfx.xml
!data/eng-dra_usfx.xml
*.sql
*.csv
scratch_*.py
23 changes: 23 additions & 0 deletions bible/migrations/0005_load_douay_rheims.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from django.db import migrations

from bible.parse import parse_usfx

TRANSLATION = 'douay-rheims'


def load_douay_rheims(apps, schema_editor):
Verse = apps.get_model('bible', 'Verse')
for verse in parse_usfx('data/eng-dra_usfx.xml'):
if verse['chapter'] is None or verse['verse'] is None:
continue
Verse.objects.create(language='en', translation=TRANSLATION, **verse)


def unload_douay_rheims(apps, schema_editor):
Verse = apps.get_model('bible', 'Verse')
Verse.objects.filter(translation=TRANSLATION).delete()


class Migration(migrations.Migration):
dependencies = [('bible', '0004_load_lxx2012_web')]
operations = [migrations.RunPython(load_douay_rheims, unload_douay_rheims)]
11 changes: 11 additions & 0 deletions bible/tests/test_parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,14 @@ def test_web_cross_references_stripped(self):
verse = Verse.objects.get(book='HEB', chapter=11, verse=33, language='en', translation='lxx2012-web')
self.assertEqual(expected, verse.content)
self.assertNotIn('Daniel', verse.content)

def test_douay_rheims_strongs_tags_stripped(self):
"""Douay-Rheims verses are word-tagged with Strong's numbers
(<w s="G3056">Word</w>), unlike the other translations already
ingested. parse_usfx() has no explicit case for <w>, so this
confirms the tags don't leak into the content and word spacing
still comes out correct."""
expected = 'In the beginning was the Word, and the Word was with God, and the Word was God.'
verse = Verse.objects.get(book='JHN', chapter=1, verse=1, language='en', translation='douay-rheims')
self.assertEqual(expected, verse.content)
self.assertNotIn('G3056', verse.content)
4 changes: 3 additions & 1 deletion calendarium/datetools.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@ def cal_session_key(tradition):
return f'cal_{tradition}'

class Translation(StrEnum):
KJV = 'kjv'
LXX2012WEB = 'lxx2012-web'
KJV = 'kjv'
DOUAY_RHEIMS = 'douay-rheims'

def translation_session_key(language):
"""Mirrors cal_session_key(tradition): translation choice is remembered
Expand All @@ -46,6 +47,7 @@ def translation_session_key(language):
TRANSLATION_LABELS = {
'kjv': 'King James Version',
'lxx2012-web': 'LXX2012 & WEB',
'douay-rheims': 'Douay-Rheims (Challoner, 1899)',
'rccv': 'Romanian Corrected Cornilescu Version',
'srp1865': 'Serbian (Karadžić/Daničić, 1865)',
}
Expand Down
37,630 changes: 37,630 additions & 0 deletions data/eng-dra_usfx.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion orthocal/converters.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def to_url(self, value):
return value


TRANSLATION_RE = '(kjv|lxx2012-web)'
TRANSLATION_RE = '(kjv|lxx2012-web|douay-rheims)'

class TranslationConverter:
regex = TRANSLATION_RE
Expand Down
10 changes: 10 additions & 0 deletions orthocal/templates/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,16 @@ <h2>Scriptures</h2>
not ideal, many clergy consider this to be one of the best options for
Orthodox. Because the rubrics use Septuagint versification, a handful of
the Old Testament readings may be incorrect.</p>
<p>The <a href="https://en.wikipedia.org/wiki/Douay%E2%80%93Rheims_Bible">Douay-Rheims</a>
(Challoner, American Edition of 1899) is also available as an alternative
on the readings page. It is a translation from the Latin Vulgate rather
than the Greek Septuagint, so its Old Testament content and versification
occasionally differ from the lectionary's own&mdash;most notably, it keeps
Susanna, Bel and the Dragon, and the Song of the Three Youths as chapters
within Daniel rather than as separate books, so any reading that cites
those books by name will not be available in this translation. Sourced,
like LXX2012 and WEB, from <a href="https://ebible.org/">eBible.org</a>;
it is public domain.</p>
<p>Some of the composite readings are taken from the translations of the
Archimandrite Ephrem (Lash). His translations can be accessed at
<a href="https://github.com/brianglass/anastasis">Anastasis.</a></p>
Expand Down