Commit 8124ac33 authored by Johannes Schütz's avatar Johannes Schütz
Browse files

Perfekt

parent aa9a8326
This diff is collapsed.
......@@ -2,11 +2,15 @@ import sys, os
import re, codecs
import csv
dir_path = os.getcwd()
files = [f for f in os.listdir(dir_path) if os.path.isfile(f) and f[-3:] == "xml"]
git_dir_korr = "D:\git\korrektur"
git_dir_tool = "D:\git\mancelius-postille\\McP1"
safe_regex = "([^ >]+(u((ſ)?(ſ|ẜ)(ch)?)(i|as|ee(s|ß))|(j|y)(i|ee)(s|ß)))( |<|/)"
unsafe_regex = "([^ >]{2,}(i|ee)(s|ß))( |<|/)"
dir_path = git_dir_korr #os.getcwd()
files = [os.path.join(dir_path, f) for f in os.listdir(dir_path) if f[-4:] == ".xml"]
safe_regex = "([^ >{]+(u(ſ)?(ſ|ẜ)(i|ee(s|ß))|u((ſ)?(ſ|ẜ)ch)(i|as|ee(s|ß))|(j|y)(i|ee)(s|ß)))([ </{}])"
unsafe_regex = "([^ >{]{2,}(i|ee)(s|ß))([ </{}])"
def open_xml(path):
......@@ -35,7 +39,7 @@ for f in files:
elif "<a2/>" in line:
status = "aus2"
page = re.search("<lpp nr=\"(\d+)\">", line).group(1) if re.search("<lpp nr=\"(\d+)\">", line) else page
page = re.search("<lpp nr=\"(\d+)", line).group(1) if re.search("<lpp nr=\"(\d+)", line) else page
if re.search("<z nr=\"(\d+)\">", line):
line_nr = re.search("<z nr=\"(\d+)\">", line).group(1)
......@@ -46,7 +50,7 @@ for f in files:
matches = re.findall(safe_regex, line)
for match in matches:
results.append([part, page, line_nr, status, match[0], "safe"])
elif unsafe_serach:
if unsafe_serach:
matches = re.findall(unsafe_regex, line)
for match in matches:
results.append([part, page, line_nr, status, match[0], "unsafe"])
......
teil;index;dt;bibelstelle;predigt;p-zeilen;auslegung1;a1-zeilen;auslegung2;a2-zeilen;a-zeilen;h-zeilen;e-zeilen
1;1;"Evangelium am erſten Son- tage des Advents / Matth. 21. ";Mt 21,1–9;1,8;28;2,22;40;4,1;259;299;2;5
1;2;"Evangelium am andern Son- tage des Advents / Luc. 21. ";Lk 21,25–36;12,11;31;14,1;27;14,28;349;376;2;4
1;3;"Evangelium am Dritten Sontage des Advents / Matth. 11. ";Mt 11,2–10;26,16;27;28,7;49;29,28;226;275;3;8
1;4;"Evangelium am Vierdten Sontage des Advents / Joh. 1. ";Joh 1,19–28;37,13;24;39,1;52;40,22;243;295;2;6
1;5;"Evangelium am heiligen Chriſtage / Luc. 2. ";Lk 2,1–14;49,5;32;50,22;69;53,3;276;345;2;4
1;6;"Evangelium am andern Weihenacht⸗Feyer⸗Tage / Luc. 2. ";Lk 2,15–20;60,9;16;61,11;37;62,20;281;318;3;5
1;7;"Evangelium am Sontage nach dem Chriſtage / Luc. 2. ";Lk 2,33–40;72,9;25;73,20;50;75,12;312;362;2;6
1;8;"Evangelium am Newen Jahrs⸗Tage / Luc. 2. Cap. ";Lk 2,21;86,1;6;86,7;31;87,22;352;383;2;4
1;9;"Evangelium am Sontage nach dem Newen Jahrstage / Matth. 2. ";Mt 2,13–15;99,8;14;100,9;32;101,13;290;322;3;4
1;10;"Evangelium am Tage der H. Drey Koͤnige / Matth. 2. ";Mt 2,1–12;111,9;39;113,8;53;115,1;345;398;2;6
1;11;"Evangelium am erſten Son- tage nach der H. Drey Koͤnige / Luc. 2. ";Lk 2,41–52;127,1;32;128,8;43;129,22;351;394;3;5
1;12;"Evangelium am andern Sontag nach der H. drey Koͤ- nige / Johan. 2. ";Joh 2,1–11;141,8;29;143,1;30;144,1;371;401;3;4
1;13;"Evangelium am dritten Sontag nach der H. drey Koͤ- nige / Matth. 8. ";Mt 8,1–13;156,9;38;158,8;31;159,10;327;358;3;5
1;14;"Evangelium am Friedens⸗ Tage / Luc. 13. Welcher Jaͤhrlich im Fuͤrſtenthumb Churland und Semgallen auff Anordnung Fuͤrſtl. Durchl. Hertʒog Gotthardts / etc. Chriſtmilder Gedaͤchtniß / wegen des ʒwiſchen dem Pohlen und Moßcowiter / betreffend den Liefflaͤndiſchen Krieg / Anno 1582. durch ſonderbare Schi- ckung Gottes getroffenen Friedens / den 15. / 25. Ja- nuarij feyerlich gehalten wird . ";Lk 13,1–9;170,16;28;171,21;58;173,22;375;433;9;6
1;15;"Evangelium am vierdten Sontag nach der H. drey Koͤ- nige / Matth. 8. ";Mt 8,23–27;186,9;14;187,10;35;188,17;273;308;3;5
1;16;"Evangelium am fuͤnfften Sontag nach der H. drey Koͤ- nige / Matth. 13. ";Mt 13,24–30;198,1;24;199,11;43;200,27;264;307;3;5
1;17;"Evangelium am ſechſten Sontag nach der H. drey Koͤ- nige / Matth. 17. ";Mt 17,1–9;209,18;26;210,22;50;212,15;245;295;3;4
1;18;"Evangelium am Tage der Reinigung Mariæ / Luc. 2. ";Lk 2,22–32;221,1;34;222,21;46;224,10;446;492;3;5
1;19;"Evangelium am Sontage Septuageſima / Matth. 20. ";Mt 20,1–16;239,7;46;241,14;25;242,12;275;300;2;4
1;20;"Evangelium am Sontage Sexageſima / Luc. 8. ";Lk 8,4–15;252,1;36;253,12;32;254,19;351;383;2;4
1;21;"Evangelium am Sontage Quinquageſima, Luc. 18. ";Lk 18,31–43;266,8;32;268,1;42;269,12;353;395;2;5
1;22;"Evangelium am Sontage Invocavit, Matth. 4. ";Mt 4,1–11;281,7;31;283,1;34;284,4;364;398;2;4
1;23;"Evangelium am Sontage Reminiſcere, Matth. 15. ";Mt 15,21–28;296,8;24;297,19;37;299,1;337;374;2;5
1;24;"Evangelium am Sontage Oculi, Lucae 11. ";Lk 11,14–28;310,8;45;312,14;38;313,25;351;389;2;5
1;25;"Evangelium am Sontage Lætare, Johann. 6. ";Joh 6,1–15;325,14;41;327,18;54;329,13;276;330;2;6
1;26;"Evangelium am Sontage Iudica, Johann 8. ";Joh 8,46–59;339,1;41;341,3;40;342,15;311;351;2;6
1;27;"Evangelium am Tage der Verkuͤndigung Mariæ / Luc. 1. ";Lk 1,26–38;353,1;37;355,1;33;356,4;333;366;2;5
1;28;"Evangelium am Palm⸗ Tage / Matth. 21. ";Mt 21,1–9;367,8;28;368,23;50;370,17;258;308;2;5
1;29;"Evangelium am Gruͤnen Donnerſtag / Vom heiligen Abend⸗ mahl / Matth. 26. Marc. 14. Luc. 22. 1. Corinth. 11. ";Mt 26, Mk 14, Lk 22, 1. Kor 11? (Abendmahl);380,1;16;380,17;55;382,16;676;731;4;7
1;30;"Evangelium am heiligen Oſtertage / Marci 16. ";Mk 16,1–8;405,7;27;406,21;83;409,16;246;329;2;4
1;31;"Evangelium am Oſter⸗ Montage / Luc. 24. ";Lk 24,13–35;418,1;61;420,22;77;423,12;278;355;2;7
1;32;"Evangelium am Sontage Qvaſimodogeniti, Johan 20. ";Joh 20,19–31;433,1;41;435,1;56;436,27;295;351;2;7
1;33;"Evangelium am Sontage Miſericordias Domini, Jo- hann 10{20} . ";Joh 10,11–16;447,1;21;448,7;37;449,15;350;387;3;4
1;34;"Evangelium am Sontage Iubilate, Johann. 16. ";Joh 16,16–23;461,9;31;463,1;62;465,1;317;379;2;6
1;35;"Evangelium am Sontage Cantate , Johan. 16. ";Joh 16,5–15;476,1;27;477,13;44;478,28;247;291;2;6
1;36;"Evangelium am Sontage Vocem Iucunditatis, Joh. 16. ";Joh 16,23–30;487,7;24;488,18;31;489,22;308;339;2;4
1;37;"Evangelium am Himmel⸗ fahrts Tage / Marci 16 . ";Mk 16,14–20;500,1;22;501,9;32;502,13;358;390;2;4
1;38;"Evangelium am Sontage Exaudi, Joh. 1S. 16. ";Joh 15,26–16,4;514,9;17;515,12;37;516,21;275;312;2;6
1;39;"Evangelium am heiligen Pfingſtag / Joh. 14. ";Joh 14,23–31;526,1;30;527,16;32;528,21;361;393;2;5
1;40;"Evangelium am Pfingſt⸗ Montage / Joh. 3. ";Joh 3,16–21;540,16;21;542,1;59;544,1;363;422;2;5
2;41;"Evangelium am Sontage Trinitatis, Joh. 3. ";None;1,7;44;3,14;32;4,21;319;351;2;4
2;42;"Evangelium am erſten Son- tage nach Trinitatis / Luc. 16. ";Lk 16,19–31;15,8;41;17,10;54;19,5;291;345;2;5
2;43;"Evangelium am andern Sontage nach Trinitatis / Luc. 14. ";None;29,1;29;30,16;24;31,13;326;350;3;5
2;44;"Evangelium am Tage Jo- hannis des Taͤuffers / Luc. 1. ";None;42,7;58;45,1;61;47,1;378;439;2;4
2;45;"Evangelium am dritten Sontage nach Trinitatis / Luc. 15. ";None;60,1;32;61,7;29;62,7;264;293;3;5
2;46;"Evangelium am vierdten Sontage nach Trinitatis / Luc. 6. ";None;71,6;24;72,14;28;73,15;294;322;3;5
2;47;"Evangelium am Tage Ma- riae Heimſuchung / Luc. 1. ";None;83,9;40;85,9;23;86,4;377;400;2;6
2;48;"Evangelium am fuͤnfften Sontage nach Trinitatis / Luc. 5. ";None;98,15;32;100,10;42;101,24;270;312;3;4
2;49;"Evangelium am ſechſten Sontage nach Trinitatis / Matth. 5. ";None;111,1;26;112,13;40;113,25;272;312;3;5
2;50;"Evangelium am ſiebenden Sontage nach Trinitais / Marc. 8. ";None;123,7;26;124,19;72;127,3;258;330;3;6
2;51;"Die andere Predigt . ";None;135,13;1;135,14;53;137,7;250;303;1;1
2;52;"Evangelium am achten Son- tage nach Trinitatis / Matt. 7. ";None;145,17;27;147,7;35;148,14;306;341;2;6
2;53;"Eine andere Predigt am ach- ten Sontage nach Trinitatis / Matth. 7. ";None;158,19;4;159,1;44;160,15;286;330;3;5
2;54;"Evangelium am neunden nach Trinitatis / ";None;170,6;34;172,1;39;173,10;353;392;1;5
2;55;"Evangelium am ʒehenden Sontage nach Trinitatis / Luc. 19. ";None;185,7;23;186,15;40;187,27;625;665;3;6
2;56;"Evangelium am ʒwoͤlfften Sontage nach Trinitatis / Marci. 7. ";None;209,5;20;210,10;40;211,22;286;326;3;4
2;57;"Evangelium am dreyʒehen- den Sontag nach Trinitatis / Luc. 10. ";None;221,9;45;223,15;70;225,27;329;399;3;5
2;58;"Evangelium am vierʒehen- den Sontag nach Trinitatis / Luc. 17. ";None;237,1;23;238,9;42;239,23;332;374;3;6
2;59;"Evangelium am fuͤnffʒehen- den Sontag nach Trinitatis / Matth. 6. ";Mt 6,24–34;251,1;40;253,1;51;254,22;315;366;3;7
2;60;"Evangelium am ſechsʒehen- den Sontag nach Trinitatis / Luc. 7. ";None;265,9;21;266,17;38;267,28;349;387;3;5
2;61;"Evangelium am Tage H. Michaelis / Matth. 18. ";None;279,14;34;281,16;34;282,23;362;396;2;5
2;62;"Evangelium am siebenʒehen- den Sontag nach Trinitatis / Luc. 14. ";None;295,1;30;296,17;49;298,8;287;336;3;5
2;63;"Eine andere Predigt am 17 . Sontag nach Trinitatis / Luc. 14. ";None;307,25;3;308,1;42;309,13;700;742;2;6
2;64;"Evangelium am neunʒehen- den Sontag nach Trinitatis / Matth. 9. ";None;334,1;21;334,22;28;335,24;267;295;3;7
2;65;"Evangelium am Ʒwantʒig- ſten Sontag nach Trinitatis / Matth. 22. ";None;345,1;36;346,22;29;347,25;252;281;3;6
2;66;"Evangelium am Ein⸗ und ʒwantʒigſten Sontag nach Trini- tatis / Johan 4 . ";None;356,9;24;357,20;44;359,7;231;275;3;5
2;67;"Evangelium am ʒwey und ʒwantʒigſten Sontag nach Trini- tatis / Matth. 18. ";None;367,6;38;369,4;40;370,15;246;286;3;5
2;68;"Evangelium am drey und ʒwantʒigſten Sontag nach Trini- tatis / Matth. 22. ";None;379,1;21;380,8;30;381,10;287;317;3;6
2;69;"Evangelium am vier und ʒwantʒigſten Sontag nach Trini- tatis / Matth. 9. ";None;391,6;26;392,18;40;394,1;318;358;3;5
2;70;"Evangelium am fuͤnf und ʒwantʒigſten Sontag nach Trini- tatis / Matth. 24. ";None;405,1;34;406,20;46;408,9;229;275;3;7
2;71;"Evangelium am ſechs und ʒwantʒigſten Sontag nach Trini- tatis / Matth. 25. ";None;416,8;53;418,20;45;420,8;291;336;3;7
3;72;"Von dem bittern Leidenund Sterben unſers Heilandes und Seh- ligmachers JESV CHRISTI . Die Erſte Predigt . ";None;2,5;135;7,12;36;8,20;734;770;5;7
3;73;"Die andere Predigt . ";None;33,1;137;38,10;20;39,1;596;616;1;8
3;74;"Die dritte Predigt . ";None;59,1;51;61,1;26;61,27;516;542;1;8
3;75;"Die vierdte Predigt . ";None;79,1;218;87,12;15;88,1;921;936;1;8
3;76;"Die fuͤnffte Predigt . ";None;118,12;31;119,21;33;120,28;512;545;1;10
3;77;"Die ſechſte Predigt . ";None;138,6;183;145,15;26;146,14;540;566;1;8
3;78;"Die ſiebende Paſſions⸗Predigt . ";None;164,8;41;166,9;37;167,20;732;769;1;6
3;79;"Die achte Predigt . ";None;192,7;101;196,4;48;197,23;593;641;1;9
......@@ -2,8 +2,12 @@ import sys, os
import re, codecs
import csv
dir_path = os.getcwd()
files = [f for f in os.listdir(dir_path) if os.path.isfile(f) and f[-3:] == "xml"]
git_dir_korr = "D:\git\korrektur"
git_dir_tool = "D:\git\mancelius-postille\\McP1"
dir_path = git_dir_korr #os.getcwd()
files = [os.path.join(dir_path, f) for f in os.listdir(dir_path) if f[-4:] == ".xml"]
def open_xml(path):
with open(path, "r", encoding="utf-8") as f:
......@@ -11,73 +15,9 @@ def open_xml(path):
string = re.sub("[\r\n]+?(\t+)?", " ", string)
string = re.sub("<z nr=\"re.+?</z>", "", string)
return string
def intify(str):
return int(re.match("\d*", str).group(0))
def return_line_nr(nr):
if nr < 10:
return "0"+str(nr)
else:
return str(nr)
def extract_lines(read_path, save_path, first, last):
page_a = intify(first.split(",")[0])
line_a = intify(first.split(",")[1])
page_z = intify(last.split(",")[0])
line_z = intify(last.split(",")[1])
doc_title = soup.document["title"]
output = "\\_sh v3.0 621 Text\n\n\\id {id}\n\n".format(id=doc_title)
store = []
for page in soup.document.find_all("lpp"):
page_nr = intify(page["nr"]) # "56a"
if not (page_nr < page_a or page_nr > page_z):
for line in page.find_all("z"):
if line["nr"] in ["re", "title"]:
continue
line_nr = intify(line["nr"])
if not ((page_nr == page_a and line_nr < line_a) or (page_nr == page_z and line_nr > line_z)):
text = line.text
reference = "{title}_{page}.{line}".format(title=doc_title, page=page["nr"], line=return_line_nr(line_nr))
store.append([reference, text])
elif page_nr > page_z:
break
konkordanz = []
for i in range(len(store)):
if store[i][1][-1] == "-":
next_line = store[i+1][1].split(" ", 1)
store[i][1] = store[i][1][:-1] + "=|" + next_line[0]
store[i+1][1] = next_line[1]
output += "\\ref {ref}\n\\tx {tx}\n\\std\n\\mrph\n\\lm\n\\PoS\n\\gD\n\n".format(ref=store[i][0], tx=store[i][1])
for word in store[i][1].split(" "):
word_ = re.sub("=|", "", word)
if not word_ in konkordanz:
konkordanz.append(word_)
with open(save_path, "w", encoding="utf-8") as f:
f.write(output)
print("printed", save_path)
save_path = re.sub(".txt", "_konk.txt", save_path)
konkordanz.sort()
with open(save_path, "w", encoding="utf-8") as f:
f.write("\n".join(konkordanz))
print("printed", save_path)
git_dir_korr = "D:\\git\\korrektur"
git_dir_tool = "D:\\git\\mancelius-postille\\McP1"
out = "teil;index;dt;predigt;p-zeilen;auslegung1;a1-zeilen;auslegung2;a2-zeilen;a-zeilen;h-zeilen;e-zeilen\n"
template = "{part};{index};{head};{predigt};{pz};{aus1};{aus1z};{aus2};{aus2z};{ausz};{headz};{intrz}\n"
out = "teil;index;dt;bibelstelle;predigt;p-zeilen;auslegung1;a1-zeilen;auslegung2;a2-zeilen;a-zeilen;h-zeilen;e-zeilen\n"
template = "{part};{index};{head};{bibel};{predigt};{pz};{aus1};{aus1z};{aus2};{aus2z};{ausz};{headz};{intrz}\n"
def find_last_page_before(ii):
for match in re.finditer("<lpp nr=\"(\d+)", txt[:ii]):
......@@ -92,17 +32,18 @@ for f in files:
while re.search("<p/><z nr=\"(\d+)\">", txt):
p_tag = re.search("<p/><z nr=\"(\d+)\">", txt)
pi = p_tag.start()
p_page = find_last_page_before(pi)
p_page = find_last_page_before(pi) #suche alles bis zum Perikopenanfang
h_tag = re.search("<h/><z nr=\"(\d+)\">", txt[:pi])
h_tag = re.search("<h(?: teil=\"(.+?)\")?/><z nr=\"(\d+)\">", txt[:pi])
hi, hy = h_tag.start(), h_tag.end()
h_page = find_last_page_before(hi)
e_tag = re.search("<e/><z nr=\"(\d+)\">", txt[:pi])
bibelstelle = h_tag.group(1)
e_tag = re.search("<e/>(?:<z nr=\"(\d+)\">)?", txt[:pi])
ei = e_tag.start()
e_page = find_last_page_before(ei)
if re.search("<h/><z nr=\"(\d+)\">", txt[pi:]):
next_tag = re.search("<h/><z nr=\"(\d+)\">", txt[pi:])
if re.search("<h( teil=\"(.+?)\")?/><z nr=\"(\d+)\">", txt[pi:]):
next_tag = re.search("<h( teil=\"(.+?)\")?/><z nr=\"(\d+)\">", txt[pi:])
ni = next_tag.start() + pi
next_page = find_last_page_before(ni)
next_pagei = next_page.start()
......@@ -139,6 +80,7 @@ for f in files:
index = i,
part = y,
head = "\"" + re.sub("<.+?>", "", txt[hy:ei]) + "\"",
bibel = bibelstelle,
predigt = p_pnr + "," + p_znr,
pz = p_lines,
aus1 = a1_pnr + "," + a1_znr,
......@@ -159,9 +101,4 @@ for f in files:
y += 1
with open("textorganisation.csv", "w", encoding="utf-8-sig") as file:
file.write(out)
\ No newline at end of file
file.write(out)
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment