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)