HEX
Server: LiteSpeed
System: Linux shams.tasjeel.ae 5.14.0-611.5.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 11 08:09:09 EST 2025 x86_64
User: infowars (1469)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: //usr/lib/python3.9/site-packages/sssd/__pycache__/sss_analyze.cpython-39.pyc
a

�,h�
�@s:ddlZddlmZddlmZGdd�d�Zdd�ZdS)�N)�request)�SubparsersActionc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�AnalyzercCs*|j||d�}|�||�|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)�
add_parser�_add_subcommand_options�set_defaults)�selfZ
subcmd_grp�name�help_msgr�optsZ
req_parser�r�4/usr/lib/python3.9/site-packages/sssd/sss_analyze.py�add_subcommandszAnalyzer.add_subcommandcCsn|D]d}|jturJ|jdur2|j|j|jdd�n|j|j|j|jdd�|jtur|j|j|jtd�qdS)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_argumentrr�int)r
�parserr
�optrrrrs

��
�z Analyzer._add_subcommand_optionscCst��}t�}|�||�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)r
r�
parser_grpZreqZclirrr�load_modules/s
zAnalyzer.load_modulescCsbtj}tjd|d�}|jddddgd�|jddd	d
�|jdtdd
�}|�d�}|�||�|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)�description�formatter_classz--source�filesZjournald)�default�choicesz--logdirz/var/log/sssd/z*SSSD Log directory to parse log files from)rrNZCOMMANDS)�titler�metavarZModules)�argparse�RawTextHelpFormatter�ArgumentParserr�add_subparsersrZadd_parser_groupr)r
�	formatterrZ	subparserrrrrr>s"	�
���
zAnalyzer.setup_argscCs4|��}|��}t|d�s&|��dS|�|�dS)Nrr)r�
parse_args�hasattr�
print_helpr)r
r�argsrrr�main[s
z
Analyzer.mainN)�__name__�
__module__�__qualname__rrrrr,rrrrrs
rcCst�}|��dS)N)rr,)Zanalyzerrrr�runfsr0)r#Zsssd.modulesrZsssd.parserrrr0rrrr�<module>s_