
    -_g=                     :    d dl Z d dlmZ d dlmZ  G d de      Zy)    N)SoSCleanerParser)SoSHostnameMapc                   6     e Zd ZdZdZdgZg f fd	Zd Z xZS )SoSHostnameParserzHostname Parserhostname_mapz5(((\b|_)[a-zA-Z0-9-\.]{1,200}\.[a-zA-Z]{1,63}(\b|_)))c                 D    t               | _        t        |   ||       y )N)r   mappingsuper__init__)selfconfigskip_cleaning_files	__class__s      E/usr/lib/python3/dist-packages/sos/cleaner/parsers/hostname_parser.pyr   zSoSHostnameParser.__init__   s    %'!45    c                    d}| j                   D ]-  }t        j                  ||t        j                        s)||fc S  | j	                  |      \  }}||z  }| j
                  r| j                  |      \  }}||z  }||fS )a  This 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   )skip_line_patternsrematchI_parse_linecompile_regexes!_parse_line_with_compiled_regexes)r   linecountskip_pattern_count_rcounts         r   
parse_linezSoSHostnameParser.parse_line   s      33 	#LxxdBDD1U{"	# ''-f BB4HMD'WEU{r   )	__name__
__module____qualname__namemap_file_keyregex_patternsr   r   __classcell__)r   s   @r   r   r      s&    D!L@N 46 6r   r   )r   sos.cleaner.parsersr   !sos.cleaner.mappings.hostname_mapr   r    r   r   <module>r*      s    
 0 <( r   