Example #1
0
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
Example #3
0
 def test_2(self):
     from greekutils.beta2unicode import convert
     with self.assertRaises(KeyError):
         convert("(@)")
Example #4
0
 def test_1(self):
     from greekutils.beta2unicode import convert
     self.assertEqual(convert("LO/GOS\n"), "λόγος")
Example #5
0
 def test_2(self):
     from greekutils.beta2unicode import convert
     with self.assertRaises(KeyError):
         convert("(@)")
Example #6
0
 def test_1(self):
     from greekutils.beta2unicode import convert
     self.assertEqual(convert("LO/GOS\n"), "λόγος")