
    -_g                     ,    d dl mZmZ  G d dee      Zy)    )PluginRedHatPluginc                   .    e Zd ZdZdZdZdZd Zd Zd Z	y)	SapnwzSAP NetWeaversapnw)sap)z/usr/sapc                    | j                  dd      }|d   dk7  ryt               }|d   j                         D ]f  }d|vs	|j                  d	      r|j	                         j                         }t        |      d
k  rH|d   }|d   }|d   }|j                  |       d| d}| j                  |      s| j                  |      D ]  t        fd|||fD              sd| d}	d| d}j	                         }
| j                  d|	 d| d| d|
 |
 d       | j                  d|	 d| d| d| d| d       | j                  d|	 d| d| d| d| d       |j                         }| d| d| d}| j                  d | d!| d"|        i |D ]  }| j                  d| d#        y)$z% Collect data on installed instances z9/usr/sap/hostctrl/exe/saphostctrl -function ListInstancesSAPInstancessuggest_filenamestatusr   NoutputDAAzNo instances found            z	/usr/sap/z/SYS/profile/c              3   &   K   | ]  }|v  
 y wN ).0flines     :/usr/lib/python3/dist-packages/sos/report/plugins/sapnw.py	<genexpr>z/Sapnw.collect_list_instances.<locals>.<genexpr>-   s     A19As   zLD_LIBRARY_PATH=/usr/sap/z/SYS/exe/runz/SYS/exe/uc/linuxx86_64zenv -i  z/sappfpar all pf=/usr/sap/_parametersz/sapcontrol -nr z -function GetProcessList__GetProcListz -function GetVersionInfo_GetVersInfoadm__userenvsu - zadm -c "sapcontrol -nr z -function GetEnvironment"z/*DVEB*/work/dev_w0)collect_cmd_outputset
splitlines
startswithstripsplitlenaddpath_existslistdiralladd_cmd_outputloweradd_copy_spec)self	inst_list
sidsunique	inst_linefieldssidinstvhostpathldenvprofilelowsidfnamer   s                @r   collect_list_instanceszSapnw.collect_list_instances   sx   ++G+ , 
	 X!#U
 #8,779 1	IY&(()=>"*002v;?Qiayq	s#"3%}5''- LL. $DAsD%.@AA";C5 M "+3%/FG"&**, ++%eWAdV 4++.%}WIG07y-D ,  ++%eWAdV3CD6 J7 703uAdV<-H ,  ++%eWAdV3CD6 J7 703uAdV<-H ,  "%#&%qTF( C++#F8+B4& I8 8-2 , A$1	h  	EC3%/BCD	E    c                    | j                  dd      }|d   dk7  ry|d   j                         D ]  }d|v s|j                         j                         }|d	   dd
 }|d   dd
 }|dd j	                         }|dk(  r| j                  d| d| d| d       l|dk(  r!|d	   dd
 }| j                  d| d| d       |dk(  r|d	   dd
 }| j                  d| d       |dk(  s|d	   dd
 }| j                  d| d| d        y)z$ Collect data all the installed DBs z9/usr/sap/hostctrl/exe/saphostctrl -function ListDatabasesSAPDatabasesr   r   r   Nr   zInstance name   r   r   db6r#   z -c "db2 get dbm cfg"r   	_db2_infor   z/sapdb/z/data/config/z.pahoraz/oracle/z/*/dbs/init.orasybz/sybase/z/ASE*/z.cfg)r$   r&   r(   r)   upperr/   r1   )r2   db_listr   r6   dbadmdbtyper7   s          r   collect_list_dbszSapnw.collect_list_dbsV   sm    ))G+ * 

 8!H%002 	HD$&++-q	#23BABioo'U?''w&=>,/5%	)B ( 
 u_ )CR.C&&!#mC5= u_ )CR.C&&#o'FGu_ )CR.C&&#fSE'FG;	Hr@   c                 D    | j                          | j                          y r   )r?   rM   )r2   s    r   setupzSapnw.setup   s    ##%r@   N)
__name__
__module____qualname__
short_descplugin_nameprofilesfilesr?   rM   rO   r   r@   r   r   r      s*     JKHEAEF(HT r@   r   N)sos.report.pluginsr   r   r   r   r@   r   <module>rX      s    4v FL v r@   