unijoh commited on
Commit
9fcb0ad
·
verified ·
1 Parent(s): c20492f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +58 -5
app.py CHANGED
@@ -28,20 +28,73 @@ def load_data():
28
 
29
  lemmas = load_data()
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31
  def search_lemma(lemma):
32
  results = lemmas.get(lemma, None)
33
  if not results:
34
  return f"No results found for {lemma}"
35
- response = f"Results for {lemma}:\n\n"
36
- response += "PPOS\tPHON1\tPHON2\tCOMM\n"
37
  for result in results:
38
- response += f"{result['PPOS']}\t{result['PHON1']}\t{result['PHON2']}\t{result['COMM']}\n"
39
- return response
 
 
 
 
 
 
 
 
40
 
41
  iface = gr.Interface(
42
  fn=search_lemma,
43
  inputs="text",
44
- outputs="text",
45
  title="Lemma Search",
46
  description="Enter a lemma to search for its declensions and pronunciations."
47
  )
 
28
 
29
  lemmas = load_data()
30
 
31
+ def create_noun_table(lemma, forms):
32
+ table = f"""
33
+ <table border="1">
34
+ <thead>
35
+ <tr>
36
+ <th colspan="2">Eintal</th>
37
+ <th colspan="2">Fleirtal</th>
38
+ </tr>
39
+ <tr>
40
+ <th>Óbundið</th>
41
+ <th>Bundið</th>
42
+ <th>Óbundið</th>
43
+ <th>Bundið</th>
44
+ </tr>
45
+ </thead>
46
+ <tbody>
47
+ <tr>
48
+ <td>{forms.get('Nsns', '')}</td>
49
+ <td>{forms.get('Nsnst', '')}</td>
50
+ <td>{forms.get('Npns', '')}</td>
51
+ <td>{forms.get('Npnst', '')}</td>
52
+ </tr>
53
+ <tr>
54
+ <td>{forms.get('Nsas', '')}</td>
55
+ <td>{forms.get('Nsast', '')}</td>
56
+ <td>{forms.get('Npas', '')}</td>
57
+ <td>{forms.get('Npast', '')}</td>
58
+ </tr>
59
+ <tr>
60
+ <td>{forms.get('Nsds', '')}</td>
61
+ <td>{forms.get('Nsdst', '')}</td>
62
+ <td>{forms.get('Npds', '')}</td>
63
+ <td>{forms.get('Npdt', '')}</td>
64
+ </tr>
65
+ <tr>
66
+ <td>{forms.get('Nsgs', '')}</td>
67
+ <td>{forms.get('Nsgst', '')}</td>
68
+ <td>{forms.get('Npgs', '')}</td>
69
+ <td>{forms.get('Npgst', '')}</td>
70
+ </tr>
71
+ </tbody>
72
+ </table>
73
+ """
74
+ return table
75
+
76
  def search_lemma(lemma):
77
  results = lemmas.get(lemma, None)
78
  if not results:
79
  return f"No results found for {lemma}"
80
+
81
+ forms = {}
82
  for result in results:
83
+ ppos = result['PPOS']
84
+ key = ppos[1:5] # Extracting relevant part of PPOS
85
+ forms[key] = result['PPOS']
86
+
87
+ if 'N' in results[0]['PPOS']:
88
+ table = create_noun_table(lemma, forms)
89
+ else:
90
+ table = "Only noun tables are currently supported."
91
+
92
+ return table
93
 
94
  iface = gr.Interface(
95
  fn=search_lemma,
96
  inputs="text",
97
+ outputs="html",
98
  title="Lemma Search",
99
  description="Enter a lemma to search for its declensions and pronunciations."
100
  )