
    Vh                    f    d dl mZ d dlZd dlZd dlmc mc mZ d dl	m
Z
 d dlmZ  G d de      Zy)    )annotationsN)get_file_lines)BaseFactCollectorc                  &    e Zd ZdZ e       ZddZy)FcWwnInitiatorFactCollectorfibre_channel_wwnNc                   i }g |d<   t         j                  j                  d      rQt        j                  d      D ]7  }t	        |      D ]'  }|d   j                  |j                         dd        ) 9 |S t         j                  j                  d      r|j                  d      }|rq|dz   }|j                  |      \  }}}	|d	k(  rR|rP|j                         D ]=  }d
|v s|j                  d      }
|d   j                  |
d   j                                ? |S t         j                  j                  d      r|j                  d      }|j                  d      }|r|r|dz   }|j                  |      \  }}}	|d	k(  r|r|j                         D ]  }d|v s|j                  d      }
|d|
d	   z  z   }|j                  |      \  }}}	|d	k(  s?|sB|j                         D ]=  }d|v s|j                  d      }
|d   j                  |
d   j                                ?  |S t         j                  j                  d      r|j                  d      }|j                  ddg      }|r|r|dz   }|j                  |      \  }}}	|d	k(  r|r|j                         D ]  }|j                         }d|v s|j                  d      }|d|d	   z  z   }|j                  |      \  }}}	|d	k(  sO|sR|j                         D ]=  }d|v s|j                  d      }
|d   j                  |
d   j                                ?  |S )z_
        Example contents /sys/class/fc_host/*/port_name:

        0x21000014ff52a9bb

        r   linuxz/sys/class/fc_host/*/port_name   Nsunosfcinfoz	 hba-portr   zPort WWN aixlsdevlscfgz -Cc adapter -l fcs*	Availablez -vl %szNetwork Address.zhp-uxioscanfcmsutilz/opt/fcms/bin)opt_dirsz -fnC FCz/dev/fcdz %szN_Port Port World Wide Name=)sysplatform
startswithglobr   appendrstripget_bin_pathrun_command
splitlinessplitstrip)selfmodulecollected_factsfc_factsfcfilelinecmdrc
fcinfo_outerrdata	lscfg_cmd	lsdev_out	lscfg_out	fcmsu_cmd
ioscan_outdevfcmsutil_outs                     Y/home/dcms/DCMS/lib/python3.12/site-packages/ansible/module_utils/facts/network/fc_wwn.pycollectz#FcWwnInitiatorFactCollector.collect!   s    (*$%<<""7+))$DE L*62 LD0188qr9JKLLB } \\$$W- %%h/CK'&,&8&8&=#J 7z * 5 5 7 T%-#'::c?D$%89@@bARSTh a \\$$U+%%g.C++G4Iy22%+%7%7%<"Is7y ) 4 4 6 `&$.#'::c?D"+i$q'.A"AC171C1CC1H.B	3  "Qw9,5,@,@,B !`D'8D'@/3zz#(01D(E(L(LTRTX__M^(_!``P 5 \\$$W-%%h/C++)* , I
 yJ&&,&8&8&=#J7z * 5 5 7 _#zz|%-"&**S/C"+ec!fn"<C4:4F4Fs4K1Bc  "Qw<,8,C,C,E !_D'D'L/3zz#(01D(E(L(LTRTX^^M](^!__     )NN)__name__
__module____qualname__nameset	_fact_idsr7    r8   r6   r   r      s    DILr8   r   )
__future__r   r   r   "ansible.module_utils.compat.typingmodule_utilscompattypingt ansible.module_utils.facts.utilsr   $ansible.module_utils.facts.collectorr   r   r?   r8   r6   <module>rH      s+   $ # 
  . . ; BP"3 Pr8   