Andley_OGNTa/Scripts/Step3-Convert-TheWord.py

208 lines
12 KiB
Python
Raw Permalink Normal View History

2021-10-22 01:57:19 +00:00
import re
2021-11-19 03:41:06 +00:00
from datetime import date
todays_date = date.today()
2021-10-22 01:57:19 +00:00
####### —————————————— Processing OGNTa-RUBY ——————————————
2021-12-09 01:29:52 +00:00
inputFile = "./tmp/OGNTa-marked.txt"
2021-10-22 01:57:19 +00:00
outputFile = "./tmp/OGNTa-Ruby.nt"
# loading data
2021-12-09 01:29:52 +00:00
f = open(inputFile,'r',encoding="utf_8_sig")
2021-10-22 01:57:19 +00:00
Lines = f.readlines()
f.close()
# processing
2021-12-09 01:29:52 +00:00
f = open(outputFile,'w',encoding='utf_8_sig')
2021-10-22 01:57:19 +00:00
bcv = ""
for ol in Lines:
if len(ol) > 1:
x = re.split ("\t", ol)
2021-11-08 12:07:23 +00:00
# -------------- insert CUV into OGNTa gap verses to meet TheWord Bible requirements.
2021-10-22 01:57:19 +00:00
if x[0] == "010140": f.write("\n<rt>太17:21</rt> <rt>至於這一類的鬼,若不禱告、禁食,他就不出來(或作:不能趕他出來)。</rt>")
if x[0] == "010496": f.write("\n<rt>太18:11</rt> <rt>人子來,為要拯救失喪的人。)</rt>")
if x[0] == "013732": f.write("\n<rt>太23:14</rt> <rt>你們這假冒為善的文士和法利賽人有禍了!因為你們侵吞寡婦的家產,假意做很長的禱告,所以要受更重的刑罰。)</rt>")
if x[0] == "022759": f.write("\n<rt>可7:16</rt> <rt>有耳可聽的,就應當聽!)</rt>")
if x[0] == "024509": f.write("\n<rt>可9:44</rt> <rt>你缺了肢體進入永生,強如有兩隻手落到地獄,入那不滅的火裡去。</rt>")
if x[0] == "024535": f.write("\n<rt>可9:46</rt> <rt>你瘸腿進入永生,強如有兩隻腳被丟在地獄裡。</rt>")
if x[0] == "025920": f.write("\n<rt>可11:26</rt> <rt>你們若不饒恕人,你們在天上的父也不饒恕你們的過犯。(有古卷無此節)</rt>")
if x[0] == "028995": f.write("\n<rt>可15:28</rt> <rt>這就應了經上的話說:他被列在罪犯之中。)</rt>")
if x[0] == "043640": f.write("\n<rt>路17:36</rt> <rt>兩個人在田裡,要取去一個,撇下一個。)</rt>")
if x[0] == "047735": f.write("\n<rt>路23:17</rt> <rt>每逢這節期,巡撫必須釋放一個囚犯給他們。)</rt>")
if x[0] == "052024": f.write("\n<rt>約5:4</rt> <rt>因為有天使按時下池子攪動那水,水動之後,誰先下去,無論害甚麼病就痊癒了。)</rt>")
if x[0] == "070106": f.write("\n<rt>徒8:37</rt> <rt>腓利說:你若是一心相信,就可以。他回答說:我信耶穌基督是神的兒子。)</rt>")
if x[0] == "074803": f.write("\n<rt>徒15:34</rt> <rt>唯有西拉定意仍住在那裡。)</rt>")
if x[0] == "077576": f.write("\n<rt>徒19:41</rt> <rt>說了這話,便叫眾人散去。</rt>")
if x[0] == "080382": f.write("\n<rt>徒24:7</rt> <rt>不料千夫長呂西亞前來,甚是強橫,從我們手中把他奪去,吩咐告他的人到你這裡來。)</rt>")
if x[0] == "083187": f.write("\n<rt>徒28:29</rt> <rt>保羅說了這話,猶太人議論紛紛的就走了。)</rt>")
if x[0] == "090276": f.write("\n<rt>羅16:24</rt> <rt>城內管銀庫的以拉都,和兄弟括土問你們安。</rt>")
if x[0] == "101636": f.write("\n<rt>林後13:14</rt> <rt>願主耶穌基督的恩惠、神的慈愛、聖靈的感動,常與你們眾人同在!</rt>")
2021-10-30 02:26:44 +00:00
# -------------- insert section break
# TW3 clipboard monitor does not support <br>, use </br> instead 😂
2023-07-24 14:06:49 +00:00
if (re.match("¬.*",x[2])) or (re.match("<strong>¬.*",x[2])) or (re.match("<em>¬.*",x[2])):
f.write("</br>")
x[2] = x[2].replace('¬','')
2021-10-22 01:57:19 +00:00
# -------------- align 3Jo 1:15 & Rev 12:18 to meet TheWord Bible requirements.
if (x[1] == "Rev 12:18") or (x[1] == "3Jo 1:15") or (x[1]== bcv):
f.write(" ")
elif (x[1] == "Mat 1:1"):
2021-12-09 01:29:52 +00:00
bcv = x[1]
2023-07-24 14:06:49 +00:00
f.write(x[1]+" ")
2021-10-22 01:57:19 +00:00
else:
bcv = x[1]
f.write("\n")
2023-07-24 14:06:49 +00:00
f.write(x[1]+" ")
# ----------
2022-04-12 13:25:24 +00:00
x[5] = re.sub("\n","",x[5])
2021-10-22 01:57:19 +00:00
# ------------- insert paragraph break
2022-04-02 11:24:15 +00:00
# TW3 clipboard monitor does not support </br>, use </br> instead 😂
2023-07-24 14:06:49 +00:00
if (re.match(".*¶",x[2])) or (re.match(".*¶</strong>",x[2])) or (re.match(".*¶</em>",x[2])):
x[2] = x[2].replace('','')
2023-08-07 01:16:58 +00:00
f.write("<RUBY><ruby><ruby>"+x[2]+"<rt>"+x[3]+"</rt></ruby><rt>"+x[5]+"</rt></ruby><rt>"+x[4]+"</rt></RUBY>")
f.write("</br></br></br>")
2023-07-24 14:06:49 +00:00
else:
2023-08-07 01:16:58 +00:00
f.write("<RUBY><ruby><ruby>"+x[2]+"<rt>"+x[3]+"</rt></ruby><rt>"+x[5]+"</rt></ruby><rt>"+x[4]+"</rt></RUBY>")
2021-10-22 01:57:19 +00:00
# ----------
2023-08-07 01:16:58 +00:00
f.write("\n\n\nlang=grc\nnotags=1\nshort.title=OGNTa-Ruby\nversion.date="+str(todays_date)+"\ndescription=OGNTa-Ruby (https://github.com/Andley/OGNTa)")
2021-10-22 01:57:19 +00:00
f.close()
####### —————————————— Processing OGNTa-TC-RUBY ——————————————
2021-12-09 01:29:52 +00:00
inputFile = "./tmp/OGNTa-TC-marked.txt"
2021-10-22 01:57:19 +00:00
outputFile = "./tmp/OGNTa-TC-Ruby.nt"
# loading data
2021-12-09 01:29:52 +00:00
f = open(inputFile,'r',encoding="utf_8_sig")
2021-10-22 01:57:19 +00:00
Lines = f.readlines()
f.close()
# processing
2021-12-09 01:29:52 +00:00
f = open(outputFile,'w',encoding='utf_8_sig')
2021-10-22 01:57:19 +00:00
bcv = ""
for ol in Lines:
if len(ol) > 1:
x = re.split ("\t", ol)
2021-11-08 12:07:23 +00:00
# -------------- insert CUV into OGNTa gap verses to meet TheWord Bible requirements.
2021-10-22 01:57:19 +00:00
if x[0] == "010140": f.write("\n<rt>太17:21</rt> <rt>至於這一類的鬼,若不禱告、禁食,他就不出來(或作:不能趕他出來)。</rt>")
if x[0] == "010496": f.write("\n<rt>太18:11</rt> <rt>人子來,為要拯救失喪的人。)</rt>")
if x[0] == "013732": f.write("\n<rt>太23:14</rt> <rt>你們這假冒為善的文士和法利賽人有禍了!因為你們侵吞寡婦的家產,假意做很長的禱告,所以要受更重的刑罰。)</rt>")
if x[0] == "022759": f.write("\n<rt>可7:16</rt> <rt>有耳可聽的,就應當聽!)</rt>")
if x[0] == "024509": f.write("\n<rt>可9:44</rt> <rt>你缺了肢體進入永生,強如有兩隻手落到地獄,入那不滅的火裡去。</rt>")
if x[0] == "024535": f.write("\n<rt>可9:46</rt> <rt>你瘸腿進入永生,強如有兩隻腳被丟在地獄裡。</rt>")
if x[0] == "025920": f.write("\n<rt>可11:26</rt> <rt>你們若不饒恕人,你們在天上的父也不饒恕你們的過犯。(有古卷無此節)</rt>")
if x[0] == "028995": f.write("\n<rt>可15:28</rt> <rt>這就應了經上的話說:他被列在罪犯之中。)</rt>")
if x[0] == "043640": f.write("\n<rt>路17:36</rt> <rt>兩個人在田裡,要取去一個,撇下一個。)</rt>")
if x[0] == "047735": f.write("\n<rt>路23:17</rt> <rt>每逢這節期,巡撫必須釋放一個囚犯給他們。)</rt>")
if x[0] == "052024": f.write("\n<rt>約5:4</rt> <rt>因為有天使按時下池子攪動那水,水動之後,誰先下去,無論害甚麼病就痊癒了。)</rt>")
if x[0] == "070106": f.write("\n<rt>徒8:37</rt> <rt>腓利說:你若是一心相信,就可以。他回答說:我信耶穌基督是神的兒子。)</rt>")
if x[0] == "074803": f.write("\n<rt>徒15:34</rt> <rt>唯有西拉定意仍住在那裡。)</rt>")
if x[0] == "077576": f.write("\n<rt>徒19:41</rt> <rt>說了這話,便叫眾人散去。</rt>")
if x[0] == "080382": f.write("\n<rt>徒24:7</rt> <rt>不料千夫長呂西亞前來,甚是強橫,從我們手中把他奪去,吩咐告他的人到你這裡來。)</rt>")
if x[0] == "083187": f.write("\n<rt>徒28:29</rt> <rt>保羅說了這話,猶太人議論紛紛的就走了。)</rt>")
if x[0] == "090276": f.write("\n<rt>羅16:24</rt> <rt>城內管銀庫的以拉都,和兄弟括土問你們安。</rt>")
if x[0] == "101636": f.write("\n<rt>林後13:14</rt> <rt>願主耶穌基督的恩惠、神的慈愛、聖靈的感動,常與你們眾人同在!</rt>")
2023-07-24 14:06:49 +00:00
2021-10-30 02:26:44 +00:00
# -------------- insert section break
2023-07-24 14:06:49 +00:00
# TW3 clipboard monitor does not support <br>, use </br> instead 😂
if (re.match("¬.*",x[2])) or (re.match("<strong>¬.*",x[2])) or (re.match("<em>¬.*",x[2])):
f.write("</br>")
x[2] = x[2].replace('¬','')
2021-10-22 01:57:19 +00:00
# -------------- align 3Jo 1:15 & Rev 12:18 to meet TheWord Bible requirements.
2023-07-24 23:43:02 +00:00
if (x[1] == "啟 12:18") or (x[1] == "約三 1:15") or (x[1]== bcv):
2021-10-22 01:57:19 +00:00
f.write(" ")
2023-07-24 23:43:02 +00:00
elif (x[1] == "太 1:1"):
2021-12-09 01:29:52 +00:00
bcv = x[1]
2023-07-24 14:06:49 +00:00
f.write(x[1]+" ")
2021-10-22 01:57:19 +00:00
else:
bcv = x[1]
f.write("\n")
2023-07-24 14:06:49 +00:00
f.write(x[1]+" ")
# ----------
2022-04-12 13:25:24 +00:00
x[5] = re.sub("\n","",x[5])
2021-10-22 01:57:19 +00:00
# ------------- insert paragraph break
2022-04-02 11:24:15 +00:00
# TW3 clipboard monitor does not support </br>, use </br> instead 😂
2023-07-24 14:06:49 +00:00
if (re.match(".*¶",x[2])) or (re.match(".*¶</strong>",x[2])) or (re.match(".*¶</em>",x[2])):
x[2] = x[2].replace('','')
2023-08-07 01:16:58 +00:00
f.write("<RUBY><ruby><ruby>"+x[2]+"<rt>"+x[3]+"</rt></ruby><rt>"+x[5]+"</rt></ruby><rt>"+x[4]+"</rt></RUBY>")
f.write("</br></br></br>")
2023-07-24 14:06:49 +00:00
else:
2023-08-07 01:16:58 +00:00
f.write("<RUBY><ruby><ruby>"+x[2]+"<rt>"+x[3]+"</rt></ruby><rt>"+x[5]+"</rt></ruby><rt>"+x[4]+"</rt></RUBY>")
2021-10-22 01:57:19 +00:00
# ----------
2023-09-01 01:04:39 +00:00
f.write("\n\n\nlang=grc\nnotags=1\nshort.title=OGNTa-TC-RUBY\nversion.date="+str(todays_date)+"\ndescription=OGNTa-TC-Ruby (https://github.com/Andley/OGNTa)")
2021-10-22 01:57:19 +00:00
2022-04-02 11:24:15 +00:00
f.close()
####### —————————————— Processing OGNTa-WordEQ ——————————————
inputFile = "./OGNTa.txt"
outputFile = "./tmp/OGNTa-WordEQ.nt"
# loading data
f = open(inputFile,'r',encoding="utf_8_sig")
Lines = f.readlines()
f.close()
# processing
f = open(outputFile,'w',encoding='utf_8_sig')
bcv = ""
for ol in Lines:
if len(ol) > 1:
x = re.split ("\t", ol)
# -------------- insert CUV into OGNTa gap verses to meet TheWord Bible requirements.
if x[0] == "010140": f.write("\n太17:21 【至於這一類的鬼,若不禱告、禁食,他就不出來(或作:不能趕他出來)。】")
if x[0] == "010496": f.write("\n太18:11 【人子來,為要拯救失喪的人。)】")
if x[0] == "013732": f.write("\n太23:14 【你們這假冒為善的文士和法利賽人有禍了!因為你們侵吞寡婦的家產,假意做很長的禱告,所以要受更重的刑罰。)】")
if x[0] == "022759": f.write("\n可7:16 【有耳可聽的,就應當聽!)】")
if x[0] == "024509": f.write("\n可9:44 【你缺了肢體進入永生,強如有兩隻手落到地獄,入那不滅的火裡去。】")
if x[0] == "024535": f.write("\n可9:46 【你瘸腿進入永生,強如有兩隻腳被丟在地獄裡。】")
if x[0] == "025920": f.write("\n可11:26 【你們若不饒恕人,你們在天上的父也不饒恕你們的過犯。(有古卷無此節)】")
if x[0] == "028995": f.write("\n可15:28 【這就應了經上的話說:他被列在罪犯之中。)】")
if x[0] == "043640": f.write("\n路17:36 【兩個人在田裡,要取去一個,撇下一個。)】")
if x[0] == "047735": f.write("\n路23:17 【每逢這節期,巡撫必須釋放一個囚犯給他們。)】")
if x[0] == "052024": f.write("\n約5:4 【因為有天使按時下池子攪動那水,水動之後,誰先下去,無論害甚麼病就痊癒了。)】")
if x[0] == "070106": f.write("\n徒8:37 【腓利說:你若是一心相信,就可以。他回答說:我信耶穌基督是神的兒子。)】")
if x[0] == "074803": f.write("\n徒15:34 【唯有西拉定意仍住在那裡。)】")
if x[0] == "077576": f.write("\n徒19:41 【說了這話,便叫眾人散去。】")
if x[0] == "080382": f.write("\n徒24:7 【不料千夫長呂西亞前來,甚是強橫,從我們手中把他奪去,吩咐告他的人到你這裡來。)】")
if x[0] == "083187": f.write("\n徒28:29 【保羅說了這話,猶太人議論紛紛的就走了。)】")
if x[0] == "090276": f.write("\n羅16:24 【城內管銀庫的以拉都,和兄弟括土問你們安。】")
if x[0] == "101636": f.write("\n林後13:14 【願主耶穌基督的恩惠、神的慈愛、聖靈的感動,常與你們眾人同在!】")
# -------------- align 3Jo 1:15 & Rev 12:18 to meet TheWord Bible requirements.
2022-11-25 01:56:45 +00:00
if (x[1] == "Rev 12:18") or (x[1] == "3Jo 1:15") or (x[1]== bcv):
2022-04-02 11:24:15 +00:00
f.write(" ")
2022-11-25 01:56:45 +00:00
elif (x[1] == "Mat 1:1"):
2022-04-02 11:24:15 +00:00
bcv = x[1]
2022-11-25 01:56:45 +00:00
x[1] = re.sub(" ","",x[1])
f.write("<rt>"+x[1]+"</rt> ")
2022-04-02 11:24:15 +00:00
else:
bcv = x[1]
2022-11-25 01:56:45 +00:00
x[1] = re.sub(" ","",x[1])
f.write(" \n")
f.write("<rt>"+x[1]+"</rt> ")
2022-04-02 11:24:15 +00:00
# --------------
2022-04-12 13:25:24 +00:00
x[5] = re.sub("\n","",x[5])
2022-11-25 01:56:45 +00:00
x[5] = re.sub(" ","",x[5])
x[5] = re.sub(",","",x[5])
x[5] = re.sub("-","",x[5])
x[2] = re.sub(",","",x[2])
x[3] = re.sub(",","",x[3])
x[3] = re.sub(" ","",x[3])
2023-07-30 07:39:46 +00:00
f.write("<RUBY><ruby><ruby>"+x[2]+"<rt>"+x[3]+"</rt></ruby><rt>"+x[5]+"</rt></ruby><rt>"+x[4]+"</rt></RUBY> ")
2022-04-02 11:24:15 +00:00
# ----------
2023-09-01 01:04:39 +00:00
f.write("\n\n\nlang=grc\nnotags=1\nshort.title=OGNTa-WordEQ\nversion.date="+str(todays_date)+"\ndescription=OGNTa-WordEQ (https://github.com/Andley/OGNTa)")
2022-04-02 11:24:15 +00:00
2021-10-22 01:57:19 +00:00
f.close()