def __init__(self): BaseDateParserConfiguration.__init__(self) self._utility_configuration = EnglishDateTimeUtilityConfiguration() self._unit_map = EnglishDateTime.UnitMap self._unit_value_map = EnglishDateTime.UnitValueMap self._season_map = EnglishDateTime.SeasonMap self._cardinal_map = EnglishDateTime.CardinalMap self._day_of_week = EnglishDateTime.DayOfWeek self._month_of_year = EnglishDateTime.MonthOfYear self._numbers = EnglishDateTime.Numbers self._double_numbers = EnglishDateTime.DoubleNumbers self._cardinal_extractor = EnglishCardinalExtractor() self._integer_extractor = EnglishIntegerExtractor() self._ordinal_extractor = EnglishOrdinalExtractor() self._check_both_before_after = EnglishDateTime.CheckBothBeforeAfter self._day_of_month = { **BaseDateTime.DayOfMonthDictionary, **EnglishDateTime.DayOfMonth } self._time_zone_parser = BaseTimeZoneParser() self._number_parser = BaseNumberParser( EnglishNumberParserConfiguration()) self._date_extractor = BaseDateExtractor( EnglishDateExtractorConfiguration()) self._time_extractor = BaseTimeExtractor( EnglishTimeExtractorConfiguration()) self._duration_extractor = BaseDurationExtractor( EnglishDurationExtractorConfiguration()) self._date_period_extractor = BaseDatePeriodExtractor( EnglishDatePeriodExtractorConfiguration()) self._time_period_extractor = BaseTimePeriodExtractor( EnglishTimePeriodExtractorConfiguration()) self._date_time_extractor = BaseDateTimeExtractor( EnglishDateTimeExtractorConfiguration()) self._date_time_period_extractor = BaseDateTimePeriodExtractor( EnglishDateTimePeriodExtractorConfiguration()) self._duration_parser = BaseDurationParser( EnglishDurationParserConfiguration(self)) self._date_parser = BaseDateParser( EnglishDateParserConfiguration(self)) self._time_parser = EnglishTimeParser( EnglishTimeParserConfiguration(self)) self._date_period_parser = BaseDatePeriodParser( EnglishDatePeriodParserConfiguration(self)) self._time_period_parser = BaseTimePeriodParser( EnglishTimePeriodParserConfiguration(self)) self._date_time_parser = BaseDateTimeParser( EnglishDateTimeParserConfiguration(self)) self._date_time_period_parser = BaseDateTimePeriodParser( EnglishDateTimePeriodParserConfiguration(self))
def initialize_configuration(self): # region English self.register_model( 'NumberModel', Culture.English, lambda options: NumberModel( AgnosticNumberParserFactory.get_parser( ParserType.NUMBER, EnglishNumberParserConfiguration()), EnglishNumberExtractor(NumberMode.PURE_NUMBER))) self.register_model( 'OrdinalModel', Culture.English, lambda options: OrdinalModel( AgnosticNumberParserFactory.get_parser( ParserType.ORDINAL, EnglishNumberParserConfiguration()), EnglishOrdinalExtractor())) self.register_model( 'PercentModel', Culture.English, lambda options: PercentModel( AgnosticNumberParserFactory.get_parser( ParserType.PERCENTAGE, EnglishNumberParserConfiguration()), EnglishPercentageExtractor())) # endregion # region German # self.register_model('NumberModel', Culture.German, lambda options: NumberModel( # AgnosticNumberParserFactory.get_parser( # ParserType.NUMBER, GermanNumberParserConfiguration()), # GermanNumberExtractor(NumberMode.PURE_NUMBER) # )) # self.register_model('OrdinalModel', Culture.German, lambda options: OrdinalModel( # AgnosticNumberParserFactory.get_parser( # ParserType.ORDINAL, GermanNumberParserConfiguration()), # GermanOrdinalExtractor() # )) # self.register_model('PercentModel', Culture.German, lambda options: PercentModel( # AgnosticNumberParserFactory.get_parser( # ParserType.PERCENTAGE, GermanNumberParserConfiguration()), # GermanPercentageExtractor() # )) # endregion # region Chinese self.register_model( 'NumberModel', Culture.Chinese, lambda options: NumberModel( AgnosticNumberParserFactory.get_parser( ParserType.NUMBER, ChineseNumberParserConfiguration()), ChineseNumberExtractor())) self.register_model( 'OrdinalModel', Culture.Chinese, lambda options: OrdinalModel( AgnosticNumberParserFactory.get_parser( ParserType.ORDINAL, ChineseNumberParserConfiguration()), ChineseOrdinalExtractor())) self.register_model( 'PercentModel', Culture.Chinese, lambda options: PercentModel( AgnosticNumberParserFactory.get_parser( ParserType.PERCENTAGE, ChineseNumberParserConfiguration()), ChinesePercentageExtractor())) # endregion # region Japanese self.register_model( 'NumberModel', Culture.Japanese, lambda options: NumberModel( AgnosticNumberParserFactory.get_parser( ParserType.NUMBER, JapaneseNumberParserConfiguration()), JapaneseNumberExtractor())) self.register_model( 'OrdinalModel', Culture.Japanese, lambda options: OrdinalModel( AgnosticNumberParserFactory.get_parser( ParserType.ORDINAL, JapaneseNumberParserConfiguration()), JapaneseOrdinalExtractor())) self.register_model( 'PercentModel', Culture.Japanese, lambda options: PercentModel( AgnosticNumberParserFactory.get_parser( ParserType.PERCENTAGE, JapaneseNumberParserConfiguration() ), JapanesePercentageExtractor())) # endregion # region Spanish self.register_model( 'NumberModel', Culture.Spanish, lambda options: NumberModel( AgnosticNumberParserFactory.get_parser( ParserType.NUMBER, SpanishNumberParserConfiguration()), SpanishNumberExtractor(NumberMode.PURE_NUMBER))) self.register_model( 'OrdinalModel', Culture.Spanish, lambda options: OrdinalModel( AgnosticNumberParserFactory.get_parser( ParserType.ORDINAL, SpanishNumberParserConfiguration()), SpanishOrdinalExtractor())) self.register_model( 'PercentModel', Culture.Spanish, lambda options: PercentModel( AgnosticNumberParserFactory.get_parser( ParserType.PERCENTAGE, SpanishNumberParserConfiguration()), SpanishPercentageExtractor())) # endregion # region Portuguese self.register_model( 'NumberModel', Culture.Portuguese, lambda options: NumberModel( AgnosticNumberParserFactory.get_parser( ParserType.NUMBER, PortugueseNumberParserConfiguration()), PortugueseNumberExtractor(NumberMode.PURE_NUMBER))) self.register_model( 'OrdinalModel', Culture.Portuguese, lambda options: OrdinalModel( AgnosticNumberParserFactory.get_parser( ParserType.ORDINAL, PortugueseNumberParserConfiguration()), PortugueseOrdinalExtractor())) self.register_model( 'PercentModel', Culture.Portuguese, lambda options: PercentModel( AgnosticNumberParserFactory.get_parser( ParserType.PERCENTAGE, PortugueseNumberParserConfiguration( )), PortuguesePercentageExtractor())) # endregion # region French self.register_model( 'NumberModel', Culture.French, lambda options: NumberModel( AgnosticNumberParserFactory.get_parser( ParserType.NUMBER, FrenchNumberParserConfiguration()), FrenchNumberExtractor(NumberMode.PURE_NUMBER))) self.register_model( 'OrdinalModel', Culture.French, lambda options: OrdinalModel( AgnosticNumberParserFactory.get_parser( ParserType.ORDINAL, FrenchNumberParserConfiguration()), FrenchOrdinalExtractor())) self.register_model( 'PercentModel', Culture.French, lambda options: PercentModel( AgnosticNumberParserFactory.get_parser( ParserType.PERCENTAGE, FrenchNumberParserConfiguration()), FrenchPercentageExtractor()))