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__/source_files.cpython-39.pyc
a

�,h	�@s8ddlZddlZddlmZe��ZGdd�de�ZdS)�N)�ReadercsBeZdZdZ�fdd�Zdd�Zdd�Zd
d	d
�Zdd�Z�Z	S)�Filesz�
    A class used to represent a Log Files Reader

    Args:
        path -- the path where SSSD logs are to
           be read (default /var/log/sssd/)
    cs*t���g|_|�|�|_|��|_dS�N)�super�__init__�	log_files�resolve_path�path�get_domain_logfiles�domains��selfr	��	__class__��5/usr/lib/python3.9/site-packages/sssd/source_files.pyrs
zFiles.__init__ccs�|jD]�}z<t|�� }|D]
}|VqWd�n1s:0YWqty�}z,t�d�t�|�WYd}~qWYd}~qd}~00qdS)zH
        Yields:
            str: The next line in the log file
        Nz(Could not find domain log file, skipping)r�open�FileNotFoundError�loggerZwarning)r
�files�file�line�errrrr�__iter__s

*

zFiles.__iter__cCs|�d�r|S|dSdS)N�/)�endswithrrrrr's
zFiles.resolve_pathFcs`g}gd�}|r"t�|jd�}nt�|jd�}|D]$�t�fdd�|D��s6|���q6|S)z> Retrieve list of SSSD log files, exclude rotated (.gz) files )	ZifpZnssZpamZsudoZautofsZsshZpacZkcmz.gzz*.logzsssd_*c3s|]}|�vVqdSrr)�.0�s�rrr�	<genexpr>7�z,Files.get_domain_logfiles.<locals>.<genexpr>)�globr	�any�append)r
�childZdomain_filesZexclude_listZ	file_listrrrr
-szFiles.get_domain_logfilescCs~g|_||jjkr&|j�|jd�nT||jjkrF|j�|jd�n4||jjkrz|�|�}|sdt�|D]}|j�|�qhdS)zb
        Switch the reader to interact with a certain SSSD component
        NSS, PAM, BE
        zsssd_nss.logzsssd_pam.logN)	rZ	ComponentZNSSr#r	ZPAMZBEr
�IOError)r
Z	componentr$rZdomrrr�
set_component<s
zFiles.set_component)F)
�__name__�
__module__�__qualname__�__doc__rrrr
r&�
__classcell__rrrrr	s
r)r!ZloggingZsssd.source_readerrZ	getLoggerrrrrrr�<module>s