summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/opbible/txs-gen/maketxs.py
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/opbible/txs-gen/maketxs.py')
-rwxr-xr-xmacros/luatex/generic/opbible/txs-gen/maketxs.py59
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