Exemplo n.º 1
0
    def run(self):
        data = self.data

        read_module_pipes = [self.pipe_read_clean]
        read_module = ReadModule(read_module_pipes,
                                 self.file_path + self.file_name,
                                 self.encoding, data)

        clean_module_pipes = [self.pipe_read_clean, self.pipe_clean_sound]
        clean_module = CleanModule(clean_module_pipes, data)

        phonotype_module_pipes = [self.pipe_clean_sound, self.pipe_sound_syll]
        phonotype_module = PhonotypeModule(phonotype_module_pipes, data)

        syllabify_module_pipes = [self.pipe_sound_syll, self.pipe_syll_count]
        syllabify_module = SyllabifyModule(syllabify_module_pipes)

        count_module_pipes = [self.pipe_syll_count, self.pipe_count_txt]
        count_module = CountModule(count_module_pipes, data, self.file_path)

        write_module_pipes = [self.pipe_count_txt]
        write_module = WriteModule(write_module_pipes, self.file_path)

        clean_module.start()
        phonotype_module.start()
        syllabify_module.start()
        count_module.start()
        write_module.start()

        read_module.run()

        phonotype_module.join()
        syllabify_module.join()
        count_module.join()
        write_module.join()
Exemplo n.º 2
0
    @classmethod
    def tearDownClass(cls):
        run_through_module(End())

    def test_українськогож(self):
        word = run_through_module(Text('українськогож'))
        self.assertEqual(word.get_text(), 'українськогож')
        self.assertEqual(word.get_phonotypes(), [VOWEL, CONS, SONOR, VOWEL, VOWEL, SONOR, CONS, SPEC, CONS, VOWEL, CONS,
                                                 VOWEL, CONS])

def run_through_module(word):
    pin.acquire()
    pin.put(word)
    pin.notify()
    pin.release()
    pout.acquire()
    if pout.empty():
        pout.wait()
    word = pout.get()
    pout.release()
    return word

data = ConfigData('../../configs/conf_uk_cyr.json')
pin = Pipe(Queue(), Condition())
pout = Pipe(Queue(), Condition())
mod = PhonotypeModule([pin, pout], data)

if __name__ == '__main__':
    unittest.main()