diff options
Diffstat (limited to 'macros/luatex/generic/opbible/txs-gen/maketxs.py')
-rwxr-xr-x | macros/luatex/generic/opbible/txs-gen/maketxs.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/macros/luatex/generic/opbible/txs-gen/maketxs.py b/macros/luatex/generic/opbible/txs-gen/maketxs.py new file mode 100755 index 0000000000..f087301102 --- /dev/null +++ b/macros/luatex/generic/opbible/txs-gen/maketxs.py @@ -0,0 +1,59 @@ +#!/usr/bin/python3 +import sys +import os + +if(len(sys.argv)<2): + print("missing argument") + exit(1) + +filename = sys.argv[1] +buff = [] +buffname = None + +mainname,_ = os.path.splitext(filename) +# filename.split(".")[0] +mainname = os.path.basename(mainname) + +def writeBuff(): + with open(mainname+"-"+buffname+".txs",'w', encoding = 'utf-8') as f_buff: + for buff_line in buff: + f_buff.write(buff_line) + +books = [] +abbvs = [] +inside_fence = False + +with open(filename,'r', encoding = 'utf-8') as f: + for iline,line in enumerate(f): + if(line[:6] == "\kniha"): + assert inside_fence == False, iline+1 + if(buffname): + writeBuff() + buff = [] + book = line.split('{')[1][:-2] + buff.append("% source: "+filename+", book: "+book+"\n") + books.append(book) + elif(line[:8] == "\zkratka"): + assert inside_fence == False, iline+1 + buffname = line.split('{')[1][:-2] + abbvs.append(buffname) + else: + line = line.strip() + if line == "": continue + if line.startswith("<"): + assert inside_fence == False, iline+1 + inside_fence = True + line = "#"+line[1:] + assert inside_fence == True, iline+1 + if line.endswith(">"): + inside_fence = False + line = line[:-1]+"\n" + else: line = line+' ' + buff.append(line.replace("\xa0"," ")) + assert inside_fence == False + writeBuff() + +with open(mainname+"-books.tex", "w", encoding = 'utf-8') as f_books: + for book,abbv in zip(books,abbvs): + f_books.write("\\BookTitle "+abbv+" "+abbv+" {"+book+"}\n") +
\ No newline at end of file |