def selectFilters(cfg, lexicon): filtersPresetName, filtersCfg = selectSubTreeWithBase(cfg, 'filters') filters = [] #OriginalOnlyFilter if filtersCfg.get('original') == True: filters.append(Filters.OriginalOnlyFilter(lexicon)) #NameLengthFilter minLength = filtersCfg.get('min-length', default=0) maxLength = filtersCfg.get('max-length', default=float("inf")) if minLength > 0 or maxLength < float("inf"): filters.append(Filters.NameLengthFilter(minLength, maxLength)) if filtersCfg.contains('regex'): pattern = filtersCfg.get('regex') filters.append(Filters.RegexFilter(pattern)) if cfg.get('verbose'): print('Choosing filters using settings %s' % (repr(filtersPresetName))) return Filters.AggregateFilter(filters)