from 臺灣言語工具.語音合成.閩南語音韻.變調判斷 import 變調判斷
from 臺灣言語工具.基本物件.章 import 章
from 臺灣言語工具.解析整理.型態錯誤 import 型態錯誤


class 閩南語音韻規則:

    @classmethod
    def 套用(cls, 物件):
        try:
            結果章物件 = 章(物件.內底句)
        except (AttributeError, 型態錯誤):
            結果章物件 = 章([物件])
        判斷陣列 = 變調判斷.判斷(結果章物件)
        這馬所在 = 0
        for 詞物件 in 結果章物件.網出詞物件():
            新陣列 = []
            for 字物件 in 詞物件.內底字:
                變調方式 = 判斷陣列[這馬所在]
                if 變調方式 == 變調判斷.愛提掉的:
                    pass
                else:
                    字物件.音 = 變調方式.變調(字物件.音)
                    新陣列.append(字物件)
                這馬所在 += 1
            詞物件.內底字 = 新陣列
        return 結果章物件
