File manager - Edit - /usr/lib/python3.6/site-packages/sssd/__pycache__/sss_analyze.cpython-36.pyc
Back
3 Yd�i� � @ s: d dl Z d dlmZ d dlmZ G dd� d�Zdd� ZdS )� N)�request)�SubparsersActionc @ s4 e Zd Zdd� Zdd� Zdd� Zdd� Zd d � ZdS )�Analyzerc C s* |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_optionsZset_defaults)�selfZ subcmd_grp�name�help_msgr �optsZ req_parser� r �!/usr/lib/python3.6/sss_analyze.py�add_subcommand s zAnalyzer.add_subcommandc C sr xl|D ]d}|j tkrL|jdkr4|j|j|jdd� n|j|j|j|jdd� |j tkr|j|j|jtd� qW dS )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 r s z Analyzer._add_subcommand_optionsc C s t j� }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)r ZRequestAnalyzerr � setup_args)r r � parser_grpZreqZclir r r �load_modules/ s zAnalyzer.load_modulesc C sb t j}t jd|d�}|jddddgd� |jddd d � |jdtdd �}|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)r r NZCOMMANDS)�titler �metavar�Modules)�argparseZRawTextHelpFormatter�ArgumentParserr Zadd_subparsersr Zadd_parser_groupr )r Z formatterr Z subparserr r r r r >