grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]9Uã@sÚddlZddlZddlZddlZddlZddddddgZGdd„deƒZiZgZ dd d d„Z dd d„Z dd d d„Z dd„Z dd„Zd dd„ZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGdd„deƒZGd d!„d!eƒZeZGd"d#„d#eƒZGd$d%„d%eƒZGd&d'„d'eƒZGd(d)„d)eƒZd*d+„Zejj d,ƒreƒejj d-ƒrÎej d.ƒr:e d.ded.ƒƒej d/ƒr_e d/ded/ƒƒej d0ƒr„e d0ded0ƒƒej d1ƒr©e d1ded1ƒƒej d2ƒrÎe d2ded2ƒƒej!dd3…d4kr…Gd5d6„d6eƒZ"gZ iZe d7e"ƒej#j$ejj d8d9ƒd:ƒZ%xHd;d<d=d>d?d@e%fD]+Z&ej e&ƒrVe e&dee&ƒƒqVWej!dAkr$GdBdC„dCeƒZ'GdDdE„dEeƒZ(e dFde(dFƒdNƒe d;de(d;ƒdOƒe dGde(dGƒdPƒe dCde(dHƒdQƒdIejkr·ejdIj)ej*ƒZ+e+j,ƒxRe+D]JZ-e-dJkr]ee-dRƒZ.e.d dkr]e e-dee-ƒdSƒq]WdZ-[-[+dKdL„Z/e0dMkrÖe/ƒdS)TéNÚErrorÚopenÚopen_newÚ open_new_tabÚgetÚregisterc@seZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú//opt/alt/python35/lib64/python3.5/webbrowser.pyr s écCsR||gt|jƒ<|dkr2tj|ƒn|dkrNtjd|ƒdS)Nr)Ú _browsersÚlowerÚ _tryorderÚappendÚinsert)ÚnameÚklassÚinstanceÚupdate_tryorderr r r rs   c Csó|dk r|g}nt}xÂ|D]º}d|krwtj|ƒ}|ddkrjt|dd…ƒSt|ƒSq%yt|jƒ}Wntk r«t|ƒ}YnX|ddk rÄ|dS|ddk r%|dƒSq%Wt dƒ‚dS)Nz%sr ú&rz!could not locate runnable browseréÿÿÿÿr) rÚshlexÚsplitÚBackgroundBrowserÚGenericBrowserrrÚKeyErrorÚ _synthesizer)ZusingZ alternativesÚbrowserÚcommandr r r rs$      TcCs:x3tD]+}t|ƒ}|j|||ƒrdSqWdS)NTF)rrr)ÚurlÚnewÚ autoraiserrr r r r9s   cCs t|dƒS)Nr )r)r!r r r r@scCs t|dƒS)Né)r)r!r r r rCsc Csó|jƒd}tj|ƒs)ddgStjj|ƒ}yt|jƒ}Wntk rmddgSYnX|d}|ré|jƒ|jkréddl }|j |ƒ}||_ tjj|ƒ|_t |d||ƒd|gSddgS)Nrr ) rÚshutilÚwhichÚosÚpathÚbasenamerrrÚcopyrr)rrÚcmdrr Z controllerr*r r r rGs"       rc@sReZdZdgZddd„Zdddd„Zd d „Zd d „Zd S)Ú BaseBrowserz%sÚcCs||_||_dS)N)rr))Úselfrr r r Ú__init__ns zBaseBrowser.__init__rTcCs t‚dS)N)ÚNotImplementedError)r.r!r"r#r r r rrszBaseBrowser.opencCs|j|dƒS)Nr )r)r.r!r r r ruszBaseBrowser.open_newcCs|j|dƒS)Nr$)r)r.r!r r r rxszBaseBrowser.open_new_tabN)rr r Úargsr/rrrr r r r r,is   r,c@s.eZdZdd„Zdddd„ZdS)rcCsct|tƒr'||_dg|_n |d|_|dd…|_tjj|jƒ|_dS)Nz%srr )Ú isinstanceÚstrrr1r'r(r))r.rr r r r/€s   zGenericBrowser.__init__rTc s’|jg‡fdd†|jDƒ}yOtjdd…dkrTtj|ƒ}ntj|ddƒ}|jƒ SWntk r�dSYnXdS)Ncs"g|]}|jdˆƒ‘qS)z%s)Úreplace)Ú.0Úarg)r!r r ú ‹s z'GenericBrowser.open..éÚwinÚ close_fdsTF)rr1ÚsysÚplatformÚ subprocessÚPopenÚwaitÚOSError)r.r!r"r#ÚcmdlineÚpr )r!r rŠs zGenericBrowser.openN)rr r r/rr r r r r|s  rc@s"eZdZdddd„ZdS)rrTc s�|jg‡fdd†|jDƒ}yZtjdd…dkrTtj|ƒ}ntj|ddddƒ}|jƒdkSWntk r˜dSYnXdS) Ncs"g|]}|jdˆƒ‘qS)z%s)r4)r5r6)r!r r r7œs z*BackgroundBrowser.open..r8r9r:TÚstart_new_sessionF)rr1r;r<r=r>Úpollr@)r.r!r"r#rArBr )r!r r›s  zBackgroundBrowser.openN)rr r rr r r r r—s rc@s^eZdZdZdZdZddgZdZdZdZ dd„Z ddd d „Z dS) Ú UnixBrowserNFTz%actionz%sc Cs g}|r=|jr=t|ƒ}|j|}|r=|g}|jg||}|s`|jrltj}nd}tj|ddd|d|jr™|pœdd|ddƒ}|rëy|jdƒ} | SWqtj k rçdSYqXn1|jr|j ƒdkr dSdSn |jƒ SdS) Nr:TÚstdinÚstdoutÚstderrrCéF) Ú raise_optsÚintrÚ backgroundr=ÚDEVNULLr>Úredirect_stdoutr?ÚTimeoutExpiredrD) r.r1Zremoter#Z raise_optÚoptrAZinoutrBÚrcr r r Ú_invokeºs0       zUnixBrowser._invokercsû|dkr|j‰n_|dkr0|j‰nG|dkrc|jdkrW|j‰qw|j‰ntdd|ƒ‚‡‡fdd†|jDƒ}dd„|Dƒ}|j|d |ƒ}|só‡fd d†|jDƒ}|j|d d ƒSd SdS) Nrr r$zBad 'new' parameter to open(); zexpected 0, 1, or 2, got %scs.g|]$}|jdˆƒjdˆƒ‘qS)z%sz%action)r4)r5r6)Úactionr!r r r7ës z$UnixBrowser.open..cSsg|]}|r|‘qSr r )r5r6r r r r7ís Tcs"g|]}|jdˆƒ‘qS)z%s)r4)r5r6)r!r r r7ñs F)Ú remote_actionÚremote_action_newwinÚremote_action_newtabrÚ remote_argsrRr1)r.r!r"r#r1Úsuccessr )rSr!r rÝs$        zUnixBrowser.open) rr r rJrLrNrWrTrUrVrRrr r r r rE©s   #rEc@s4eZdZddgZdZdZdZdZdS)ÚMozillaz%actionz%sr-z -new-windowz-new-tabTN)rr r rWrTrUrVrLr r r r rY÷s  rYc@s@eZdZddgZddgZdZdZdZdZd S) ÚNetscapez-noraisez-raisez-remotezopenURL(%s%action)r-z ,new-windowz,new-tabTN) rr r rJrWrTrUrVrLr r r r rZs   rZc@s:eZdZddgZddgZdZdZdZdS) ÚGaleonz-noraiser-z%actionz%sz-nz-wTN)rr r rJrWrTrUrLr r r r r[ s   r[c@s4eZdZddgZdZdZdZdZdS)ÚChromez%actionz%sr-z --new-windowTN)rr r rWrTrUrVrLr r r r r\s  r\c@s@eZdZddgZddgZdZdZdZdZdS) ÚOperaz-noraiser-z-remotezopenURL(%s%action)z ,new-windowz ,new-pageTN) rr r rJrWrTrUrVrLr r r r r]"s   r]c@s:eZdZddgZdZdZdZdZdZdS)ÚElinksz-remotezopenURL(%s%action)r-z ,new-windowz,new-tabFN) rr r rWrTrUrVrLrNr r r r r^-s  r^c@s"eZdZdddd„ZdS)Ú KonquerorrTc"CsG|dkrd}nd}tj}y4tjd||gddd|d|d |ƒ}Wntk rlYnX|jƒdSy:tjd d |gddd|d|d |d dƒ}Wntk rÉYnX|jƒdkràdSy:tjd d|gddd|d|d |d dƒ}Wntk r2dSYnX|jƒdkSdS)Nr$ZnewTabZopenURLÚ kfmclientr:TrFrGrHÚ konquerorz--silentrCÚkfmz-dF)r=rMr>r@r?rD)r.r!r"r#rSÚdevnullrBr r r rBs:               zKonqueror.openN)rr r rr r r r r_;s r_c@s:eZdZdd„Zdd„Zdddd„Zd S) ÚGrailc Csddl}ddl}ddl}ddl}tjj|jƒdƒ}|jtj ƒƒd}tjj||dƒ}|j|ƒ}|s–dS|j|j |j ƒ} x^|D]V} y| j | ƒWn8t k rytj| ƒWnt k rYnXYqµX| SqµWdS)Nrz .grail-unixz-*)ÚglobÚpwdÚsocketÚtempfiler'r(ÚjoinÚ gettempdirÚgetpwuidÚgetuidÚAF_UNIXÚ SOCK_STREAMÚconnectr@Úunlink) r.rerfrgrhÚtempdirÚuserÚfilenameZmaybesÚsÚfnr r r Ú_find_grail_rcss*         zGrail._find_grail_rccCs1|jƒ}|sdS|j|ƒ|jƒdS)Nrr )rvÚsendÚclose)r.rSrtr r r Ú_remote�s    z Grail._remoterTcCs3|r|jd|ƒ}n|jd|ƒ}|S)NzLOADNEW zLOAD )ry)r.r!r"r#Úokr r r r•sz Grail.openN)rr r rvryrr r r r rdos   rdcCs�tjdƒr%tddtdƒƒdtjkrYtjdƒrYtddtdƒƒdtjkr�tjdƒr�tddtdƒƒdtjkrÁtjdƒrÁtdttdƒƒtjdƒrætddtdƒƒx3dD]+}tj|ƒrít|dt|ƒƒqíWx3dD]+}tj|ƒr#t|dt|ƒƒq#Wtjdƒrztdttdƒƒn%tjdƒrŸtdttdƒƒx3dD]+}tj|ƒr¦t|dt |ƒƒq¦Wtjdƒrútddtdƒƒx3d D]+}tj|ƒrt|dt |ƒƒqWtjdƒrUtddt dƒƒtjdƒrztddtdƒƒtjdƒr™tdt dƒdS)!Nzxdg-openZGNOME_DESKTOP_SESSION_IDz gvfs-openz gnome-openZKDE_FULL_SESSIONr`z x-www-browserÚfirefoxÚ iceweaselÚiceapeÚ seamonkeyúmozilla-firefoxúmozilla-firebirdÚfirebirdÚmozillaÚnetscaperbraÚgaleonÚepiphanyZ skipstoneú google-chromeÚchromeÚchromiumúchromium-browserÚoperaZmosaicZgrail)r{r|r}r~)rr€r�r‚rƒ)r„r…)r†r‡rˆr‰) r%r&rrr'Úenvironr_rYrZr[r\r]rd)rr r r Úregister_X_browsers¤sH    rŒZDISPLAYZTERMz www-browserZlinksZelinksZlynxZw3mr8r9c@s"eZdZdddd„ZdS)ÚWindowsDefaultrTc Cs2ytj|ƒWntk r)dSYnXdSdS)NFT)r'Z startfiler@)r.r!r"r#r r r rÿs   zWindowsDefault.openN)rr r rr r r r r�þs r�zwindows-defaultZ PROGRAMFILESzC:\Program FileszInternet Explorer\IEXPLORE.EXEr{r�r~r‚rƒrŠÚdarwinc@s.eZdZdd„Zdddd„ZdS)ÚMacOSXcCs ||_dS)N)r)r.rr r r r/'szMacOSX.__init__rTc Csâd|krd|}tt|ƒƒ}|jdkrPd|jddƒ}nR|jdkrhd}nd |d }d |jddƒ}d |j||f}tjd dƒ}|dkrÄdS|j|ƒ|jƒ}| S)Nú:zfile:Údefaultzopen location "%s"ú"z%22ZOmniWebr-z toWindow %dr z OpenURL "%s"z‰tell application "%s" activate %s %s end tellÚ osascriptÚwF)rKÚboolrr4r'ÚpopenÚwriterx) r.r!r"r#ÚscriptZtoWindowr+ÚosapiperQr r r r*s       z MacOSX.openN)rr r r/rr r r r r�s r�c@s.eZdZdd„Zdddd„ZdS)ÚMacOSXOSAScriptcCs ||_dS)N)Ú_name)r.rr r r r/LszMacOSXOSAScript.__init__rTcCs‡|jdkr(d|jddƒ}nd|j|jddƒf}tjddƒ}|dkridS|j|ƒ|jƒ}| S) Nr‘zopen location "%s"r’z%22zž tell application "%s" activate open location "%s" end r“r”F)r›r4r'r–r—rx)r.r!r"r#r˜r™rQr r r rOs   zMacOSXOSAScript.openN)rr r r/rr r r r ršKs  ršZsafarir‡r‘ZBROWSERr-c Cs?ddl}dtjd}y)|jtjdd…dƒ\}}Wn[|jk r£}z8t|dtjƒt|dtjƒtjdƒWYdd}~XnXd}x;|D]3\}}|dkrÒd}q±|dkr±d}q±Wt|ƒdkrt|dtjƒtjdƒ|d}t||ƒtd ƒdS) NrzDUsage: %s [-n | -t] url -n: open new window -t: open new tabr ZntdÚfilez-nz-tr$ú) Úgetoptr;ÚargvÚerrorÚprintrHÚexitÚlenr) ržÚusageZoptsr1ÚmsgZnew_winÚoÚar!r r r Úmains( )      r¨Ú__main__rrrrrr)1r'rr%r;r=Ú__all__Ú ExceptionrrrrrrrrrÚobjectr,rrrErYrZr[r\ZChromiumr]r^r_rdrŒr‹r&r<r�r(riZiexplorerr�ršrÚpathsepZ _userchoicesÚreverserAr+r¨rr r r r Ús’       "N     45 B   .