コード例 #1
0
ファイル: chardb.py プロジェクト: cburgmer/eclectus
    def __init__(self, language, characterDomain=None, databaseUrl=None,
        dbConnectInst=None, ignoreIllegalSettings=False, **options):

        dbConnectInst = dbConnectInst or getDBConnector(
            getDatabaseConfiguration(databaseUrl))

        locale = self.LANGUAGE_CHAR_LOCALE_MAPPING[language]
        CharacterLookup.__init__(self, locale, characterDomain or 'Unicode',
            dbConnectInst=dbConnectInst)

        self.language = language

        # choose a better character domain if non specified
        if (characterDomain
            and characterDomain not in self.LANGUAGE_CHAR_DOMAIN_MAPPING[
                    self.language]):
            if ignoreIllegalSettings:
                characterDomain = None
            else:
                raise ValueError(
                    "Illegal character domain '%s' for language '%s'"
                    % (characterDomain, self.language))
        if not characterDomain:
            self.setCharacterDomain(self._getCharacterDomain())

        if locale != 'T':
            self._characterLookupTraditional = CharacterLookup('T',
                dbConnectInst=self.db)