def s_convert(w): """Fix final sigma conversion.""" try: if w[-1] in ['s', 'S']: return convert(w.upper())[:-1] + '\u03c2' return convert(w.upper()) except: logging.error('could not convert %s' % w)
def get_words(filename): state = 0 with open(filename) as f: for line in f: s = line.strip() if state == 0: # expecting verse ref b, cv = s.split() c, v = cv.split(":") if v[-1] in "abcdef": # @@@ v = v[:-1] else: w = 0 state = 1 elif state == 1: # expecting word line or blank link if s: w += 1 if s[25] == "V": # verb yield { "line": s, "ref": "{:02d}.{:03d}.{:03d}.{:03d}".format( book_to_num[b], int(c), int(v), w), "word": normalize("NFKC", convert(s[:25].strip() + " ").strip()), "type": s[25:28].strip(), "parse": s[29:35].strip(), "lemma": normalize("NFKC", convert(s[36:52].strip() + " ").strip()), "preverb": normalize("NFKC", convert(s[53:].strip() + " ").strip()), } else: state = 0 # blank link so back to expecting verse ref
def test_2(self): from greekutils.beta2unicode import convert with self.assertRaises(KeyError): convert("(@)")
def test_1(self): from greekutils.beta2unicode import convert self.assertEqual(convert("LO/GOS\n"), "λόγος")