grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a V€œdã@s|ddlZddlZddlZddlmZmZmZddlmZddl Z ddl Z ddl m Z ddlmZdd„ZGdd „d eƒZdS) éN)ÚLsmErrorÚerrorÚ ErrorNumber)Úcmd_line_wrapper)Ú SocketEOF)Ú TransPortcs$ˆdur |St‡‡fdd„|DƒƒS)z{ This method does not check whether lsm_obj contain requested property. The method caller should do the check. Nc3s |]}t|ˆƒˆkr|VqdS)N)Úgetattr)Ú.0Zlsm_obj©Ú search_keyÚ search_value©ú7/usr/lib64/python3.9/site-packages/lsm/_pluginrunner.pyÚ sÿz"search_property..)Úlist)Zlsm_objsr r r r rÚsearch_propertysrc@s,eZdZdZedd„ƒZdd„Zdd„ZdS) Ú PluginRunnerz] Plug-in side common code which uses the passed in plugin to do meaningful work. cCs(zt|ƒWdSty"YdS0dS)z4 Returns True if val is an integer. TFN)ÚintÚ ValueError)Úvalr r rÚ _is_number$s  zPluginRunner._is_numberc Csêd|_t|ƒdkrØt |d¡rØz„t|dƒ}tt |tjtj ¡ƒ|_ z |ƒ|_ WnNt y }z6t  ¡}|j  dddt|ƒ¡tj|Ž‚WYd}~n d}~00Wqæt yÔtt ¡ƒtdƒt  d¡Yqæ0nd|_t|ƒdS) NFééri�‚ÿÿzError instantiating plug-in zPlug-in exiting.T)ÚcmdlineÚlenrrrrÚsocketZfromfdZAF_UNIXZ SOCK_STREAMÚtpÚpluginÚ ExceptionÚsysÚexc_infoÚ send_errorÚstrÚsixZreraiserÚ tracebackÚ format_excÚexitr)ÚselfrÚargsÚfdÚeZec_infor r rÚ__init__/s* ÿ   ÿ$  zPluginRunner.__init__c Cs”|jr dSd}d}�z^�ztz¦|j ¡}|d}|d}|d}t|j|ƒr~|durbt|j|ƒƒ}qŠt|j|ƒfi|d¤Ž}n ttjdƒ‚|j  |¡|dkr¢d}|d kr¾d}|j  ¡W�qŠWqt �y}z,t t  ¡ƒ|j |d t|ƒ¡WYd}~qd}~0t�yJ}z,t t  ¡ƒ|j |d t|ƒ¡WYd}~qd}~0t�y†} z$|j || j| j| j¡WYd} ~ qd} ~ 00qWnÈt�y®|�rªt d ƒYn¨tj �yü} z4| jtjk�rØt d ƒnt d t  ¡ƒWYd} ~ nbd} ~ 0t�yTt d t  ¡ƒz |j |tjdtt  ¡ƒ¡Wnt�yNYn0Yn0W|�r�|j ¡t d¡n|�rŽ|j ¡t d¡0dS)NFrÚmethodÚidÚparamszUnsupported operationZplugin_registerTÚplugin_unregisteriD€ÿÿi§€ÿÿz!Client went away, exiting plug-inz Unhandled exception in plug-in! zUnhandled exception in plug-inr)rrZread_reqÚhasattrrrrrZ NO_SUPPORTZ send_respÚcloserrr$r%r!r"ÚAttributeErrorÚcodeÚmsgÚdataÚ _SocketEOFrÚerrnoZEPIPErZ PLUGIN_BUGr/rr&) r'Z need_shutdownZmsg_idr4r,r.ÚresultÚveZaeZlsm_errZser r rÚrunKs|  ÿÿÿ    ( (ÿ   ÿ  þ  ý zPluginRunner.runN)Ú__name__Ú __module__Ú __qualname__Ú__doc__Ú staticmethodrr+r:r r r rrs  r)rr$rZlsmrrrZ lsm.lsmclirr#r7Z lsm._commonrr6Zlsm._transportrrÚobjectrr r r rÚs