Your IP : 216.73.217.13


Current Path : /usr/lib/python3/dist-packages/sos/cleaner/parsers/__pycache__/
Upload File :
Current File : //usr/lib/python3/dist-packages/sos/cleaner/parsers/__pycache__/username_parser.cpython-38.pyc

U

���bT�@s,ddlmZddlmZGdd�de�ZdS)�)�SoSCleanerParser)�SoSUsernameMapc
sVeZdZdZdZdZgZdddddd	d
ddd
g
Zd�fdd�	Zdd�Z	dd�Z
�ZS)�SoSUsernameParsera�Parser for obfuscating usernames within an sosreport archive.

    Note that this parser does not rely on regex matching directly, like most
    other parsers do. Instead, usernames are discovered via scraping the
    collected output of lastlog. As such, we do not discover new usernames
    later on, and only usernames present in lastlog output will be obfuscated,
    and those passed via the --usernames option if one is provided.
    zUsername ParserZusername_mapZcoreZnobodyZ	nfsnobodyZshutdown�stackZreboot�rootZubuntuZusernameZwtmpNcs(t�|_tt|��|�|j�|�dS)N)r�mapping�superr�__init__Zload_names_from_options)�selfZconfigZ	opt_names��	__class__��E/usr/lib/python3/dist-packages/sos/cleaner/parsers/username_parser.pyr	)szSoSUsernameParser.__init__c	Csvt�}|��D]L}z|��d}Wntk
r:YqYnX|r|��|jkrPq|�|�q|D]}|j�|�q`dS)z�Since we don't get the list of usernames from a straight regex for
        this parser, we need to override the initial parser prepping here.
        rN)	�set�
splitlines�split�	Exception�lower�	skip_list�addr�get)r
ZcontentZusers�line�userZeachr
r
r�load_usernames_into_map.s
z)SoSUsernameParser.load_usernames_into_mapcCs|dfS)Nrr
)r
rr
r
r�_parse_line>szSoSUsernameParser._parse_line)N)�__name__�
__module__�__qualname__�__doc__�nameZmap_file_keyZregex_patternsrr	rr�
__classcell__r
r
rrrs$	�
rN)Zsos.cleaner.parsersrZ!sos.cleaner.mappings.username_maprrr
r
r
r�<module>s