HEX
Server: LiteSpeed
System: Linux s1049.use1.mysecurecloudhost.com 4.18.0-477.27.2.lve.el8.x86_64 #1 SMP Wed Oct 11 12:32:56 UTC 2023 x86_64
User: xedaptot (3356)
PHP: 8.3.31
Disabled: NONE
Upload Files
File: //usr/lib/python3.6/site-packages/sssd/__pycache__/sss_analyze.cpython-36.opt-1.pyc
3

Yd�i�
�@s:ddlZddlmZddlmZGdd�d�Zdd�ZdS)�N)�request)�SubparsersActionc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�AnalyzercCs*|j||d�}|j||�|j|d�dS)a4
        Add subcommand to existing subcommand group

        Args:
            name(str): Subcommand name
            help_msg(str): Help message for subcommand
            func(function): Function to call on execution
            opts(list of Object()): List of Option objects to add to subcommand
        )�help)�funcN)Z
add_parser�_add_subcommand_optionsZset_defaults)�selfZ
subcmd_grp�name�help_msgr�optsZ
req_parser�r�!/usr/lib/python3.6/sss_analyze.py�add_subcommandszAnalyzer.add_subcommandcCsrxl|D]d}|jtkrL|jdkr4|j|j|jdd�n|j|j|j|jdd�|jtkr|j|j|jtd�qWdS)z�
        Add subcommand options to subcommand parser

        Args:
            parser(str): Subcommand group parser
            opts(list of Object()): List of Option objects to add to subcommand
        N�
store_true)r�action)r�type)Zopt_type�boolZ	short_opt�add_argumentr	r
�int)r�parserr�optrrr
rs




z Analyzer._add_subcommand_optionscCstj�}t�}|j||�dS)z�
        Initialize analyzer modules from modules/*

        Args:
            parser (ArgumentParser): Base parser object
            parser_grp (argparse.Action): Parser group that can have
                additional parsers attached.
        N)rZRequestAnalyzerr�
setup_args)rr�
parser_grpZreqZclirrr
�load_modules/s
zAnalyzer.load_modulescCsbtj}tjd|d�}|jddddgd�|jddd	d
�|jdtdd
�}|jd�}|j||�|S)z�
        Top-level argument setup function.
        Setup analyzer argument parsers and subcommand parser/options.

        Returns:
            parser (ArgumentParser): Base parser object
        z-Analyzer tool to assist with SSSD log parsing)�descriptionZformatter_classz--source�filesZjournald)�default�choicesz--logdirz/var/log/sssd/z*SSSD Log directory to parse log files from)rrNZCOMMANDS)�titler�metavar�Modules)�argparseZRawTextHelpFormatter�ArgumentParserrZadd_subparsersrZadd_parser_groupr)rZ	formatterrZ	subparserrrrr
r>s	


zAnalyzer.setup_argscCs4|j�}|j�}t|d�s&|j�dS|j|�dS)Nrr)r�
parse_args�hasattrZ
print_helpr)rr�argsrrr
�main[s
z
Analyzer.mainN)�__name__�
__module__�__qualname__rrrrr&rrrr
rs
rcCst�}|j�dS)N)rr&)Zanalyzerrrr
�runfsr*)r!Zsssd.modulesrZsssd.parserrrr*rrrr
�<module>s_