# -*- coding: cp932 -*-
"""このソースコードは blanco Frameworkによって自動生成されています。
"""
class SampleZenHiragana2KatakanaStringConverter:
    """全角ひらがな→全角カタカナの文字列変換のサンプル。blancoStringConverterの実装には影響しません。
    """

    """文字列置換定義。
    """
    STRING_CONVERT_DEF = [[ 'う゛', 'ヴ' ]
, [ 'ぁ', 'ァ' ]
, [ 'あ', 'ア' ]
, [ 'ぃ', 'ィ' ]
, [ 'い', 'イ' ]
, [ 'ぅ', 'ゥ' ]
, [ 'う', 'ウ' ]
, [ 'ぇ', 'ェ' ]
, [ 'え', 'エ' ]
, [ 'ぉ', 'ォ' ]
, [ 'お', 'オ' ]
, [ 'か', 'カ' ]
, [ 'が', 'ガ' ]
, [ 'き', 'キ' ]
, [ 'ぎ', 'ギ' ]
, [ 'く', 'ク' ]
, [ 'ぐ', 'グ' ]
, [ 'け', 'ケ' ]
, [ 'げ', 'ゲ' ]
, [ 'こ', 'コ' ]
, [ 'ご', 'ゴ' ]
, [ 'さ', 'サ' ]
, [ 'ざ', 'ザ' ]
, [ 'し', 'シ' ]
, [ 'じ', 'ジ' ]
, [ 'す', 'ス' ]
, [ 'ず', 'ズ' ]
, [ 'せ', 'セ' ]
, [ 'ぜ', 'ゼ' ]
, [ 'そ', 'ソ' ]
, [ 'ぞ', 'ゾ' ]
, [ 'た', 'タ' ]
, [ 'だ', 'ダ' ]
, [ 'ち', 'チ' ]
, [ 'ぢ', 'ヂ' ]
, [ 'っ', 'ッ' ]
, [ 'つ', 'ツ' ]
, [ 'づ', 'ヅ' ]
, [ 'て', 'テ' ]
, [ 'で', 'デ' ]
, [ 'と', 'ト' ]
, [ 'ど', 'ド' ]
, [ 'な', 'ナ' ]
, [ 'に', 'ニ' ]
, [ 'ぬ', 'ヌ' ]
, [ 'ね', 'ネ' ]
, [ 'の', 'ノ' ]
, [ 'は', 'ハ' ]
, [ 'ば', 'バ' ]
, [ 'ぱ', 'パ' ]
, [ 'ひ', 'ヒ' ]
, [ 'び', 'ビ' ]
, [ 'ぴ', 'ピ' ]
, [ 'ふ', 'フ' ]
, [ 'ぶ', 'ブ' ]
, [ 'ぷ', 'プ' ]
, [ 'へ', 'ヘ' ]
, [ 'べ', 'ベ' ]
, [ 'ぺ', 'ペ' ]
, [ 'ほ', 'ホ' ]
, [ 'ぼ', 'ボ' ]
, [ 'ぽ', 'ポ' ]
, [ 'ま', 'マ' ]
, [ 'み', 'ミ' ]
, [ 'む', 'ム' ]
, [ 'め', 'メ' ]
, [ 'も', 'モ' ]
, [ 'ゃ', 'ャ' ]
, [ 'や', 'ヤ' ]
, [ 'ゅ', 'ュ' ]
, [ 'ゆ', 'ユ' ]
, [ 'ょ', 'ョ' ]
, [ 'よ', 'ヨ' ]
, [ 'ら', 'ラ' ]
, [ 'り', 'リ' ]
, [ 'る', 'ル' ]
, [ 'れ', 'レ' ]
, [ 'ろ', 'ロ' ]
, [ 'ゎ', 'ヮ' ]
, [ 'わ', 'ワ' ]
, [ 'ゐ', 'ヰ' ]
, [ 'ゑ', 'ヱ' ]
, [ 'を', 'ヲ' ]
, [ 'ん', 'ン' ]
 ]

    def convert(self, argCheck):
        """文字列変換定義に従い、文字列を変換します。

        self -- このメソッドを含むクラス自身。
        argCheck -- 変換対象の文字列。
        return -- 文字列変換定義にしたがって変換された文字列。変換定義にひとつも合致しない場合には元の文字列が戻ります。
        """
        if argCheck is None:
            raise "メソッド[convert]のパラメータ[argCheck]にnullが与えられました。しかし、このパラメータにnullを与えることはできません。"
        #end

        wrkString = ''
        index = 0
        while index < len(argCheck):
            look = argCheck[index:]
            isFound = False
            for indexDef in range(len(self.STRING_CONVERT_DEF)):
                if look.find(self.STRING_CONVERT_DEF[indexDef][0]) == 0:
                    wrkString += self.STRING_CONVERT_DEF[indexDef][1]
                    index += len(self.STRING_CONVERT_DEF[indexDef][0])
                    isFound = True
                    break
                #end
            #end
            if isFound == False:
                wrkString += unicode(argCheck[index:])[0].encode()
                index = index + len(unicode(argCheck[index:])[0].encode())
            #end
        #end

        return wrkString
    #end
#end
