File tree Expand file tree Collapse file tree 2 files changed +26
-15
lines changed Expand file tree Collapse file tree 2 files changed +26
-15
lines changed Original file line number Diff line number Diff line change 5
5
from .log import get_logger
6
6
import re
7
7
8
- html_env = Environment (loader = PackageLoader ('svpm' , 'html_templates' ))
8
+ y = parsley .makeGrammar ("""
9
+ w = ' '*
10
+ text = <((anything):x ?(x not in '}') -> x)*>:s '}' ws-> s
11
+ p = '\p' text
12
+ mt = '\mt' text
13
+ verse = '\\ v' w <digit+>:s w text:verse ws p* -> {'num': s, 'verse': verse}
14
+ verses = verse+
15
+ chapter = '\c' w <digit+>:s '}' ws p* verses:vs -> {'chapter':s, 'verses': vs}
16
+ chapters = chapter+
17
+ book = text{7} mt{1,4} chapters:c-> c
18
+ """ ,{})
19
+
20
+ html_env = Environment (loader = PackageLoader ('usfm' , 'html_templates' ))
9
21
10
22
template = html_env .get_template ('template.html' )
11
23
12
24
def print_book (file ):
13
25
txt = open (file )
14
26
lines = txt .readlines ()
15
27
out = open (file [:- 5 ]+ ".html" , 'w' )
16
- chapters = []
17
- chapter = ""
18
- verse = []
28
+ temp = open ('temp' , 'w' )
29
+ for line in lines :
30
+ if (len (line ) > 2 ):
31
+ line = line .rstrip ('\n ' )
32
+ line = line + '}'
33
+ temp .write (line + '\n ' )
34
+ temp .close ()
35
+ text = open ('temp' ).read ()
36
+ chapters = y (text ).book ()
19
37
for line in lines :
20
38
if len (line ) == 0 :
21
39
continue
22
40
words = line .split (" " )
23
41
id = words [0 ]
24
42
if id == "\\ toc2" :
25
- title = words [ 1 ]
43
+ title = line [ 5 : ]
26
44
if id == "\h" :
27
- book_name = words [1 ]
28
- elif id == "\c" :
29
- if chapter :
30
- chapters .append ({"chapter" : chapter , "verse" : verse })
31
- verse = []
32
- chapter = words [1 ]
33
- elif id == "\\ v" :
34
- verse .append ({"num" : words [1 ], "text" : " " .join (words [2 :])})
45
+ book_name = line [2 :]
35
46
out .write (template .render (title = title , book_name = book_name , chapters = chapters ))
36
47
out .close ()
37
48
Original file line number Diff line number Diff line change @@ -24,7 +24,7 @@ <h1 class="heading">{{ book_name }}</h1>
24
24
{% for items in chapters %}
25
25
< h2 class ="heading "> {{ items.chapter }}</ h2 >
26
26
27
- {% for item in items.verse %}
28
- < p > < span class ="verse "> {{ item.num }}</ span > {{ item.text }}</ p >
27
+ {% for item in items.verses %}
28
+ < p > < span class ="verse "> {{ item.num }}</ span > {{ item.verse }}</ p >
29
29
{% endfor %}
30
30
{% endfor %}
You can’t perform that action at this time.
0 commit comments