a Ö>ïhMã@s4ddlZddlmZddlmZGdd„deƒZdS)éN)ÚSoSCleanerParser)ÚSoSHostnameMapcs6eZdZdZdZdgZgf‡fdd„ Zdd„Z‡ZS)ÚSoSHostnameParserzHostname ParserZ hostname_mapz5(((\b|_)[a-zA-Z0-9-\.]{1,200}\.[a-zA-Z]{1,63}(\b|_)))cst|ƒ|_tƒ ||¡dS)N)rÚmappingÚsuperÚ__init__)ÚselfZconfigZworkdirZskip_cleaning_files©Ú __class__©úG/usr/lib/python3.9/site-packages/sos/cleaner/parsers/hostname_parser.pyrs zSoSHostnameParser.__init__cCsfd}|jD] }t ||tj¡r ||fSq | |¡\}}||7}|jr^| |¡\}}||7}||fS)aThis will be called for every line in every file we process, so that every parser has a chance to scrub everything. We are overriding parent method since we need to swap ordering of _parse_line_with_compiled_regexes and _parse_line calls. r)Zskip_line_patternsÚreÚmatchÚIZ _parse_lineZcompile_regexesZ!_parse_line_with_compiled_regexes)rÚlineÚcountZ skip_patternÚ_countZ_rcountr r r Ú parse_lines zSoSHostnameParser.parse_line) Ú__name__Ú __module__Ú __qualname__ÚnameZ map_file_keyZregex_patternsrrÚ __classcell__r r r r rs ÿr)r Zsos.cleaner.parsersrZ!sos.cleaner.mappings.hostname_maprrr r r r Ú s