U
    -Ø_g'  ã                   @   s*   d dl mZmZmZ G dd„ deeƒZdS )é    )ÚPluginÚRedHatPluginÚ	PluginOptc                   @   s4   e Zd ZdZdZdZdZeddddgZd	d
„ Z	dS )ÚMsSQLzMicrosoft SQL Server on LinuxZmssql)Úservices)úmssql-serverú
mssql-confz/var/opt/mssql/mssql.confzSQL server configuration file)ÚdefaultZdescc              
   C   s°  |   d¡}d}d}d}d }zªt|ddd’}| ¡  ¡ D ]~}| d¡rL|}q8| d	¡}|d
  ¡ dkr’|dkr||d  ¡ }q¶|dkr¶|d  ¡ }q8|d
  ¡ dkr8|dkr8|d  ¡ }q8W 5 Q R X W n@ tk
r }	 z |  d|› d|	› ¡ W Y ¢d S d }	~	X Y nX d|› }
|d k	rL|  	|¡rB|  
|¡ |  d|› ¡ n
|  |
¡ |  ||d |g¡ |   d¡s†|  |d ¡ |  |¡ n|  |d ¡ |  |¡ | jdgd d S )Nr   Ú z/var/opt/mssql/logz&/var/opt/mssql/log/sqlagentstartup.logÚrzUTF-8)Úencodingú[ú=r   Úerrorlogfilez[filelocation]é   z
[sqlagent]Úkerberoskeytabfilez	[network]zCould not open conf file z: z8keytab file is specfieid in mssql_conf but not found in zklist -e -k z/*Zall_logsr   )Zunits)Z
get_optionÚopenÚreadÚ
splitlinesÚ
startswithÚsplitÚstripÚIOErrorZ
_log_errorZpath_isfileZadd_dir_listingZadd_cmd_outputZadd_copy_specZadd_journal)ÚselfZ
mssql_confZsectionr   Zsqlagent_errorlogfiler   ZmfileÚlineZwordsÚexZ
keytab_err© r   ú:/usr/lib/python3/dist-packages/sos/report/plugins/mssql.pyÚsetup   sR    


ÿ



ý
zMsSQL.setupN)
Ú__name__Ú
__module__Ú__qualname__Z
short_descZplugin_nameZprofilesZpackagesr   Zoption_listr   r   r   r   r   r      s   ÿÿr   N)Zsos.report.pluginsr   r   r   r   r   r   r   r   Ú<module>   s   