Exemplo n.º 1
0
class TonesConverter(object):
    def __init__(self, word, debug=False):
        self.debug = debug
        self.toreplace = defaultdict(list)
        self.invalid = False
        self.word = word

    def syllabify(self):
        try:
            self.syllabic = Syllabify(self.word)
            return True
        except (ValueError) as e:
            if self.debug:
                print unicode(e).encode('utf-8')
            self.invalid = True
            return False

    def convert(self):
        if self.invalid:
            return [self.word]
        else:
            for j, tones in self.toreplace.items():
                if all(tones[0] == tone for tone in tones):
                    self.syllabic.set_tone(j, tones[0])
                else:
                    if self.debug:
                        print 'Conflicting conversion rules:', u' '.join([self.word, self.syllabic.base(j), u' '.join(tones)]).encode('utf-8')

            if self.toreplace:
                if self.debug:
                    print u' '.join([self.word, '->', self.syllabic.form()]).encode('utf-8')
                return [self.syllabic.form()]
            else:
                return [self.word]
Exemplo n.º 2
0
 def syllabify(self):
     try:
         self.syllabic = Syllabify(self.word)
         return True
     except (ValueError) as e:
         if self.debug:
             print(str(e))
         self.invalid = True
         return False
Exemplo n.º 3
0
 def syllabify(self):
     try:
         self.syllabic = Syllabify(self.word)
         return True
     except (ValueError) as e:
         if self.debug:
             print unicode(e).encode('utf-8')
         self.invalid = True
         return False
Exemplo n.º 4
0
 def syllabify(self):
     try:
         self.syllabic = Syllabify(self.word)
         return True
     except (ValueError) as e:
         if self.debug:
             print unicode(e).encode('utf-8')
         self.invalid = True
         return False
Exemplo n.º 5
0
class TonesConverter(object):
    def __init__(self, word, debug=False):
        self.debug = debug
        self.toreplace = defaultdict(list)
        self.invalid = False
        self.word = word

    def syllabify(self):
        try:
            self.syllabic = Syllabify(self.word)
            return True
        except (ValueError) as e:
            if self.debug:
                print(str(e))
            self.invalid = True
            return False

    def convert(self):
        if self.invalid:
            return [self.word]
        else:
            for j, tones in self.toreplace.items():
                if all(tones[0] == tone for tone in tones):
                    self.syllabic.set_tone(j, tones[0])
                else:
                    if self.debug:
                        print(
                            'Conflicting conversion rules:', u' '.join([
                                self.word,
                                self.syllabic.base(j), u' '.join(tones)
                            ]))

            if self.toreplace:
                if self.debug:
                    print(u' '.join([self.word, '->', self.syllabic.form()]))
                return [self.syllabic.form()]
            else:
                return [self.word]