summaryrefslogtreecommitdiffstats
path: root/tables.py
diff options
context:
space:
mode:
authorEddy Pedroni <eddy@0xf7.com>2022-10-18 19:29:06 +0200
committerEddy Pedroni <eddy@0xf7.com>2022-10-18 19:29:06 +0200
commit0d07220aeceae94fc05b12c4c98bec9ee28026b4 (patch)
tree1d9f8a57031c3d959faf1c48881e87a1fdfae081 /tables.py
parent31639b35e17732cf4c543194ec6d830da0178540 (diff)
MVP done
Diffstat (limited to 'tables.py')
-rw-r--r--tables.py77
1 files changed, 77 insertions, 0 deletions
diff --git a/tables.py b/tables.py
new file mode 100644
index 0000000..54847e1
--- /dev/null
+++ b/tables.py
@@ -0,0 +1,77 @@
+import json
+import csv
+
+ARTICLES = {
+ "bestimmter Artikel" : {
+ "Nominativ" : { "m" : "der", "f" : "die", "n" : "das", "p" : "die" },
+ "Akkusativ" : { "m" : "den", "f" : "die", "n" : "das", "p" : "die" },
+ "Dativ" : { "m" : "dem", "f" : "der", "n" : "dem", "p" : "den" },
+ "Genitiv" : { "m" : "des", "f" : "der", "n" : "des", "p" : "der" },
+ },
+ "unbestimmter Artikel" : {
+ "Nominativ" : { "m" : "ein", "f" : "eine", "n" : "ein", "p" : "meine" },
+ "Akkusativ" : { "m" : "einen", "f" : "eine", "n" : "ein", "p" : "meine" },
+ "Dativ" : { "m" : "einem", "f" : "einer", "n" : "einem", "p" : "meinen" },
+ "Genitiv" : { "m" : "eines", "f" : "einer", "n" : "eines", "p" : "meiner" },
+ },
+ "kein Artikel" : {
+ "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Genitiv" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ }
+}
+
+ADJ_ENDINGS = {
+ "bestimmter Artikel" : {
+ "Nominativ" : { "m" : "e", "f" : "e", "n" : "e", "p" : "en" },
+ "Akkusativ" : { "m" : "en", "f" : "e", "n" : "e", "p" : "en" },
+ "Dativ" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" },
+ "Genitiv" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" },
+ },
+ "unbestimmter Artikel" : {
+ "Nominativ" : { "m" : "er", "f" : "e", "n" : "es", "p" : "en" },
+ "Akkusativ" : { "m" : "en", "f" : "e", "n" : "es", "p" : "en" },
+ "Dativ" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" },
+ "Genitiv" : { "m" : "en", "f" : "en", "n" : "en", "p" : "en" },
+ },
+ "kein Artikel" : {
+ "Nominativ" : { "m" : "er", "f" : "e", "n" : "es", "p" : "e" },
+ "Akkusativ" : { "m" : "en", "f" : "e", "n" : "es", "p" : "e" },
+ "Dativ" : { "m" : "em", "f" : "er", "n" : "em", "p" : "en" },
+ "Genitiv" : { "m" : "en", "f" : "er", "n" : "en", "p" : "er" },
+ },
+}
+
+NOUN_ENDINGS = {
+ "bestimmter Artikel" : {
+ "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "n" },
+ "Genitiv" : { "m" : "s", "f" : "", "n" : "s", "p" : "" },
+ },
+ "unbestimmter Artikel" : {
+ "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "n" },
+ "Genitiv" : { "m" : "s", "f" : "", "n" : "s", "p" : "" },
+ },
+ "kein Artikel" : {
+ "Nominativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Akkusativ" : { "m" : "", "f" : "", "n" : "", "p" : "" },
+ "Dativ" : { "m" : "", "f" : "", "n" : "", "p" : "n" },
+ "Genitiv" : { "m" : "s", "f" : "", "n" : "s", "p" : "" },
+ },
+}
+
+CASES = ["Nominativ"] + ["Akkusativ"] * 2 + ["Dativ"] * 2 + ["Genitiv"]
+
+ARTICLE_TYPES = ["bestimmter Artikel", "unbestimmter Artikel", "kein Artikel"]
+
+CARDINALITIES = ["Singular"] * 3 + ["Plural"]
+
+with open("data/adjectives.json", "r") as f:
+ ADJECTIVES = json.load(f)
+
+with open("data/nouns.csv", "r", newline="") as f:
+ NOUNS = [noun for noun in csv.DictReader(f)]