# -*- coding: utf8 -*-

#: Dictionary of tuples mapping locations of files to fields
UNIHAN_MANIFEST = {
    'Unihan_DictionaryIndices.txt': (
        'kCheungBauerIndex',
        'kCowles',
        'kDaeJaweon',
        'kFennIndex',
        'kGSR',
        'kHanYu',
        'kIRGDaeJaweon',
        'kIRGDaiKanwaZiten',
        'kIRGHanyuDaZidian',
        'kIRGKangXi',
        'kKangXi',
        'kKarlgren',
        'kLau',
        'kMatthews',
        'kMeyerWempe',
        'kMorohashi',
        'kNelson',
        'kSBGY',
    ),
    'Unihan_DictionaryLikeData.txt': (
        'kCangjie',
        'kCheungBauer',
        'kCihaiT',
        'kFenn',
        'kFourCornerCode',
        'kFrequency',
        'kGradeLevel',
        'kHDZRadBreak',
        'kHKGlyph',
        'kPhonetic',
        'kTotalStrokes',
    ),
    'Unihan_IRGSources.txt': (
        'kCompatibilityVariant',
        'kIICore',
        'kIRG_GSource',
        'kIRG_HSource',
        'kIRG_JSource',
        'kIRG_KPSource',
        'kIRG_KSource',
        'kIRG_MSource',
        'kIRG_TSource',
        'kIRG_USource',
        'kIRG_VSource',
    ),
    'Unihan_NumericValues.txt': (
        'kAccountingNumeric',
        'kOtherNumeric',
        'kPrimaryNumeric',
    ),
    'Unihan_OtherMappings.txt': (
        'kBigFive',
        'kCCCII',
        'kCNS1986',
        'kCNS1992',
        'kEACC',
        'kGB0',
        'kGB1',
        'kGB3',
        'kGB5',
        'kGB7',
        'kGB8',
        'kHKSCS',
        'kIBMJapan',
        'kJa',
        'kJinmeiyoKanji',
        'kJis0',
        'kJis1',
        'kJIS0213',
        'kJoyoKanji',
        'kKoreanEducationHanja',
        'kKoreanName',
        'kKPS0',
        'kKPS1',
        'kKSC0',
        'kKSC1',
        'kMainlandTelegraph',
        'kPseudoGB1',
        'kTaiwanTelegraph',
        'kTGH',
        'kXerox',
    ),
    'Unihan_RadicalStrokeCounts.txt': (
        'kRSAdobe_Japan1_6',
        'kRSJapanese',
        'kRSKangXi',
        'kRSKanWa',
        'kRSKorean',
        'kRSUnicode',
    ),
    'Unihan_Readings.txt': (
        'kCantonese',
        'kDefinition',
        'kHangul',
        'kHanyuPinlu',
        'kHanyuPinyin',
        'kJapaneseKun',
        'kJapaneseOn',
        'kKorean',
        'kMandarin',
        'kTang',
        'kVietnamese',
        'kXHC1983',
    ),
    'Unihan_Variants.txt': (
        'kSemanticVariant',
        'kSimplifiedVariant',
        'kSpecializedSemanticVariant',
        'kTraditionalVariant',
        'kZVariant',
    ),
}

#: FIELDS with multiple values via custom delimiters
CUSTOM_DELIMITED_FIELDS = (
    'kDefinition',
    'kDaeJaweon',
    'kHDZRadBreak',
    'kIRG_GSource',
    'kIRG_HSource',
    'kIRG_JSource',
    'kIRG_KPSource',
    'kIRG_KSource',
    'kIRG_MSource',
    'kIRG_TSource',
    'kIRG_USource',
    'kIRG_VSource',
)

#: Fields with multiple values UNIHAN delimits by spaces -> dict
SPACE_DELIMITED_DICT_FIELDS = ('kHanYu', 'kXHC1983', 'kMandarin', 'kTotalStrokes')

#: Fields with multiple values UNIHAN delimits by spaces -> list
SPACE_DELIMITED_LIST_FIELDS = (
    'kAccountingNumberic',
    'kCantonese',
    'kCCCII',
    'kCheungBauer',
    'kCheungBauerIndex',
    'kCihaiT',
    'kCowles',
    'kFenn',
    'kFennIndex',
    'kFourCornerCode',
    'kGSR',
    'kHangul',
    'kHanyuPinlu',
    'kHanyuPinyin',
    'kHKGlyph',
    'kIBMJapan',
    'kIICore',
    'kIRGDaeJaweon',
    'kIRGDaiKanwaZiten',
    'kIRGHanyuDaZidian',
    'kIRGKangXi',
    'kJa',
    'kJapaneseKun',
    'kJapaneseOn',
    'kJinmeiyoKanji',
    'kJis0',
    'kJIS0213',
    'kJis1',
    'kJoyoKanji',
    'kKangXi',
    'kKarlgren',
    'kKorean',
    'kKoreanEducationHanja',
    'kKoreanName',
    'kKPS0',
    'kKPS1',
    'kKSC0',
    'kKSC1',
    'kLua',
    'kMainlandTelegraph',
    'kMatthews',
    'kMeyerWempe',
    'kMorohashi',
    'kNelson',
    'kOtherNumeric',
    'kPhonetic',
    'kPrimaryNumeric',
    'kRSAdobe_Japan1_6',
    'kRSJapanese',
    'kRSKangXi',
    'kRSKanWa',
    'kRSKorean',
    'kRSUnicode',
    'kSBGY',
    'kSemanticVariant',
    'kSimplifiedVariant',
    'kSpecializedSemanticVariant',
    'kTaiwanTelegraph',
    'kTang',
    'kTGH',
    'kTraditionalVariant',
    'kVietnamese',
    'kXerox',
    'kZVariant',
)

#: Any space delimited field regardless of expanded form
SPACE_DELIMITED_FIELDS = SPACE_DELIMITED_LIST_FIELDS + SPACE_DELIMITED_DICT_FIELDS

#: Default index fields for unihan csv's. You probably want these.
INDEX_FIELDS = ('ucn', 'char')
