Files
PowerToys/PythonHome/Lib/webbrowser.pyc

116 lines
21 KiB
Plaintext
Raw Normal View History

2014-07-09 18:15:23 +08:00
<03>
2014-07-10 23:57:08 +08:00
<EFBFBD>W`Sc@s>dZddlZddlZddlZddlZddlZddlZddddddgZdefd <00><00>YZ iZ
2014-07-09 18:15:23 +08:00
gZ dd
d <00>Z dd <00>Zd ed<00>Zd<00>Zd<00>Zd
d<00>Zejd dkr<>d<00>Zn d<00>Zd<00>Zdefd<00><00>YZdefd<00><00>YZdefd<00><00>YZdefd<00><00>YZdefd <00><00>YZeZd!efd"<00><00>YZd#efd$<00><00>YZeZ d%efd&<00><00>YZ!d'efd(<00><00>YZ"d)efd*<00><00>YZ#d+efd,<00><00>YZ$d-<00>Z%ej&jd.<00>r$e%<00>nej&jd/<00>r<>ed0<00>r[e d0ded0<00><00>ned1<00>r<>e d1ded1<00><00>ned2<00>r<>e d2de"d2<00><00>ned3<00>r<>e d3ded3<00><00>ned4<00>r<>e d4ded4<00><00>q<>nejd dkr<>d5efd6<00><00>YZ'gZ iZ
e d7e'<00>ej(j)ej&jd8d9<00>d:<00>Z*xKd;d<d=d>d?d@e*fD]+Z+ee+<00>rte e+dee+<00><00>qtqtWnejdAkr/dBefdC<00><00>YZ,dDefdE<00><00>YZ-e dFde-dF<00>d<00>e d;de-d;<00>d<00>e dBde-dG<00>d<00>nejd dHkred?<00>rgZ iZ
e dIdedJd?dKg<00>d<00>ndLej&krej&dLj.ej/<00>Z0e0j1<00>xXe0D]PZ2e2dMkr<>ee2d<00>Z3e3d
dkre e2dee2<00>d<00>qq<>q<>WdZ2[2[0ndN<00>Z4e5dOkr:e4<00>ndS(Ps?Interfaces for launching and remotely controlling Web browsers.i<><69><EFBFBD><EFBFBD>NtErrortopentopen_newt open_new_tabtgettregistercBseZRS((t__name__t
2014-07-10 23:57:08 +08:00
__module__(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRsicCsU||gt|j<00><|dkr2tj|<00>n|dkrQtjd|<00>ndS(s9Register a browser connector and, optionally, connection.iN(t _browserstlowert _tryordertappendtinsert(tnametklasstinstancetupdate_tryorder((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRs
2014-07-09 18:15:23 +08:00
  cCs<>|dk r|g}nt}x<>|D]<5D>}d|krqtj|<00>}|ddkrdt|d <20>St|<00>Sq%yt|j<00>}Wntk
r<>t |<00>}nX|ddk r<>|dS|ddk r%|d<19>Sq%Wt
d<00><00>dS(sCReturn a browser launcher instance appropriate for the environment.s%si<73><69><EFBFBD><EFBFBD>t&iis!could not locate runnable browserN( tNoneR
2014-07-10 23:57:08 +08:00
tshlextsplittBackgroundBrowsertGenericBrowserRR tKeyErrort _synthesizeR(tusingt alternativestbrowsertcommand((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRs$      icCs:x3tD]+}t|<00>}|j|||<00>rtSqWtS(N(R
RRtTruetFalse(turltnewt autoraiseR R((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR:s
  cCs t|d<00>S(Ni(R(R((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRAscCs t|d<00>S(Ni(R(R((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRDscCs<>|j<00>d}t|<00>s&ddgStjj|<00>}yt|j<00>}Wntk
2014-07-09 18:15:23 +08:00
rfddgSX|d}|r<>|j<00>|jkr<>ddl }|j |<00>}||_
tjj|<00>|_t |d||<00>d|gSddgS(s<>Attempt to synthesize a controller base on existing controllers.
This is useful to create a controller when a user specifies a path to
an entry in the BROWSER environment variable -- we can copy a general
controller to operate using a specific installation of the desired
browser in this way.
If we can't create a controller in this way, or if there is no
executable for the requested browser, return [None, None].
iii<><69><EFBFBD><EFBFBD>N( Rt
_iscommandRtostpathtbasenameRR RtcopyR R(RRtcmdR Rt
2014-07-10 23:57:08 +08:00
controllerR&((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRHs"  
2014-07-09 18:15:23 +08:00
  
  
2014-07-10 23:57:08 +08:00
itwincCs`|j<00>}tjj|<00>r1|jd<00>r1tSx(dD] }tjj||<17>r8tSq8WtS(Ns.exes.bat(s.exes.bat(s.exes.bat(R R#R$tisfiletendswithRR(R'text((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyt _isexecutableis ! cCsZtjj|<00>rVtj|<00>tj}|tj@sO|tj@sO|tj@rVtSnt S(N(
R#R$R*tstattST_MODEtS_IXUSRtS_IXGRPtS_IXOTHRR(R'tmode((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR-rs
2014-07-09 18:15:23 +08:00
'cCsrt|<00>rtStjjd<00>}|s,tSx?|jtj<00>D]+}tjj ||<00>}t|<00>r?tSq?WtS(sSReturn True if cmd is executable or can be found on the executable
search path.tPATH(
2014-07-10 23:57:08 +08:00
R-RR#tenvironRRRtpathsepR$tjoin(R'R$tdtexe((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR"ys  t BaseBrowsercBsDeZdZdgZdd<00>Zded<00>Zd<00>Zd<00>ZRS(s3Parent class for all browsers. Do not use directly.s%stcCs||_||_dS(N(R R%(tselfR ((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyt__init__<5F>s icCs
t<00>dS(N(tNotImplementedError(R<RR R!((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>scCs|j|d<00>S(Ni(R(R<R((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>scCs|j|d<00>S(Ni(R(R<R((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>s( RRt__doc__targsR=RRRR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR:<00>s    RcBs&eZdZd<00>Zded<00>ZRS(sVClass for all browsers started with a command
2014-07-09 18:15:23 +08:00
and without remote functionality.cCs]t|t<00>r'||_dg|_n|d|_|d|_tjj|j<00>|_dS(Ns%sii(t
isinstancet
2014-07-10 23:57:08 +08:00
basestringR R@R#R$R%(R<R ((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR=<00>s    icCs<>|jgg|jD]}|jd|<00>^q}yItjd dkrZtj|<00>}ntj|dt<00>}|j<00> SWnt k
2014-07-09 18:15:23 +08:00
r<>t
SXdS(Ns%siR)t close_fds( R R@treplacetsystplatformt
2014-07-10 23:57:08 +08:00
subprocesstPopenRtwaittOSErrorR(R<RR R!targtcmdlinetp((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>s & (RRR?R=RR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>s
2014-07-09 18:15:23 +08:00
RcBseZdZded<00>ZRS(sHClass for all browsers which are to be started in the
background.icCs<>|jgg|jD]}|jd|<00>^q}y<>tjd dkrZtj|<00>}nHttdd<00>}|s<>ttdd<00>}ntj|dt
d|<00>}|j <00>dkSWnt k
r<>t SXdS(Ns%siR)tsetsidtsetpgrpRCt
2014-07-10 23:57:08 +08:00
preexec_fn(R R@RDRERFRGRHtgetattrR#RRtpollRJR(R<RR R!RKRLRMRN((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>s & (RRR?RR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>st UnixBrowsercBsVeZdZdZddgZdZdZdZe Z
e Z d<00>Z de d<00>ZRS(s=Parent class for all Unix browsers with remote functionality.s%actions%sc Cs{g}|rC|jrCt|<00>}|j|}|rC|g}qCn|jg||}|sf|jr{ttjd<00>}nd}ttdd<00>}|s<>ttdd<00>}nt j
2014-07-09 18:15:23 +08:00
|dt d|d|j r<>|p<>dd|d|<00>} |rFt jd <00>| j<00>}
|
dkrAt jd
<00>| j<00>}
|
dkrAt Sn|
S|jrl| j<00>dkret StSn | j<00> SdS( Nsr+RNRORCtstdintstdouttstderrRPii(t
raise_optstintR t
2014-07-10 23:57:08 +08:00
backgroundtfileR#tdevnullRRQRGRHRtredirect_stdoutttimetsleepRRRRI( R<R@tremoteR!t raise_opttoptRLtinoutRNRMtrc((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyt_invoke<6B>s<         icCs |dkr|j}n_|dkr0|j}nG|dkrc|jdkrW|j}qw|j}ntdd|<17><00>g|jD]$}|jd|<00>jd|<00>^q<>}|j|t|<00>}|sg|j D]}|jd|<00>^q<>}|j|t
2014-07-09 18:15:23 +08:00
t
2014-07-10 23:57:08 +08:00
<00>StSdS(NiiisBad 'new' parameter to open(); sexpected 0, 1, or 2, got %ss%ss%action( t remote_actiontremote_action_newwintremote_action_newtabRRt remote_argsRDRdRR@R(R<RR R!tactionRKR@tsuccess((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRs"       1(N(RRR?RRWRhReRfRgRRYRR\RdR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRS<00>s  ,tMozillacBs>eZdZddgZddgZdZdZdZeZ RS(s-Launcher class for Mozilla/Netscape browsers.s-noraises-raises-remotesopenURL(%s%action)R;s ,new-windows,new-tab(
RRR?RWRhReRfRgRRY(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRks  tGaleoncBs8eZdZddgZddgZdZdZeZRS(s,Launcher class for Galeon/Epiphany browsers.s-noraiseR;s%actions%ss-ns-w( RRR?RWRhReRfRRY(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRl)s   tChromecBs2eZdZddgZdZdZdZeZRS(s)Launcher class for Google Chrome browser.s%actions%sR;s --new-window( RRR?RhReRfRgRRY(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRm3s  tOperacBs>eZdZddgZddgZdZdZdZeZ RS(s!Launcher class for Opera browser.s-noraiseR;s-remotesopenURL(%s%action)s ,new-windows ,new-page(
RRR?RWRhReRfRgRRY(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRn?s  tElinkscBs8eZdZddgZdZdZdZeZeZ RS(s#Launcher class for Elinks browsers.s-remotesopenURL(%s%action)R;s ,new-windows,new-tab(
RRR?RhReRfRgRRYR\(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRoJs t KonquerorcBseZdZded<00>ZRS(s<>Controller for the KDE File Manager (kfm, or Konqueror).
2014-07-09 18:15:23 +08:00
See the output of ``kfmclient --commands``
for more information on the Konqueror remote-control interface.
ic Csw|dkrd}nd}ttjd<00>}ttdd<00>}|sZttdd<00>}ny4tjd||gdtd |d
|d |<00>}Wntk
r<>nX|j <00>tSy:tjd d |gdtd |d
|d |d|<00>}Wntk
r<>nX|j
<00>dkrtSy:tjdd|gdtd |d
|d |d|<00>}Wntk
rbt SX|j
2014-07-10 23:57:08 +08:00
<00>dkSdS(NitnewTabtopenURLsr+RNROt kfmclientRCRTRURVt konquerors--silentRPtkfms-d( RZR#R[RQRRGRHRRJRIRRR(R<RR R!RiR[RNRM((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR_s@    
        (RRR?RR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRpXstGrailcBs)eZd<00>Zd<00>Zded<00>ZRS(c Csddl}ddl}ddl}ddl}tjj|j<00>d<00>}|jtj <00><00>d}tjj||d<17>}|j|<00>}|s<>dS|j|j |j <00>} x_|D]W}
2014-07-09 18:15:23 +08:00
y| j |
<00>Wn9|jk
rytj|
<00>Wq tk
rq Xq<58>X| Sq<53>WdS(Ni<4E><69><EFBFBD><EFBFBD>s .grail-unixis-*(tglobtpwdtsocketttempfileR#R$R7t
2014-07-10 23:57:08 +08:00
gettempdirtgetpwuidtgetuidRtAF_UNIXt SOCK_STREAMtconnectterrortunlinktIOError( R<RwRxRyRzttempdirtusertfilenametmaybeststfn((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyt_find_grail_rc<72>s*       cCs1|j<00>}|sdS|j|<00>|j<00>dS(Nii(R<>tsendtclose(R<RiR<>((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyt_remote<74>s   
icCs3|r|jd|<17>}n|jd|<17>}|S(NsLOADNEW sLOAD (R<>(R<RR R!tok((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<00>s(RRR<>R<>RR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRv<00>s  c Csdtd<00>r%tddtd<00><00>ndtjkrYtd<00>rYtddtd<00><00>ndtjkr<>td<00>r<>tddtd<00><00>ndtjkr<>td<00>r<>tdttd<00><00>ntd<00>r<>tddtd<00><00>nx3dD]+}t|<00>r<>t|dt|<00><00>q<>q<>Wtd<00>rAtdttd<00><00>n%td<00>rftdttd<00><00>nx3dD]+}t|<00>rmt|dt|<00><00>qmqmWtd<00>r<>tddtd<00><00>nx3dD]+}t|<00>r<>t|dt |<00><00>q<>q<>Wtd<00>rtddt
2014-07-09 18:15:23 +08:00
d<00><00>ntd<00>rAtddtd<00><00>ntd<00>r`tdt d<00>ndS( Nsxdg-opentGNOME_DESKTOP_SESSION_IDs gvfs-opens
2014-07-10 23:57:08 +08:00
gnome-opentKDE_FULL_SESSIONRss x-www-browsersmozilla-firefoxtfirefoxsmozilla-firebirdtfirebirdt iceweaselticeapet seamonkeytmozillatnetscapeRuRttgaleontepiphanyt skipstones google-chrometchrometchromiumschromium-browsertoperatmosaictgrail( smozilla-firefoxR<78>smozilla-firebirdR<64>R<>R<>R<>R<>snetscape(R<>R<>(s google-chromeR<65>R<>schromium-browser( R"RRRR#R5RpRkRlRmRnRv(R((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pytregister_X_browsers<72>sD  
2014-07-09 18:15:23 +08:00
           tDISPLAYtTERMs www-browsertlinkstelinkstlynxtw3mtWindowsDefaultcBseZded<00>ZRS(icCs.ytj|<00>Wntk
2014-07-10 23:57:08 +08:00
r%tSXtSdS(N(R#t startfilet WindowsErrorRR(R<RR R!((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRs
 (RRRR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<79>sswindows-defaultt PROGRAMFILESsC:\Program FilessInternet Explorer\IEXPLORE.EXER<45>R<>R<>R<>R<>R<>tdarwintMacOSXcBs&eZdZd<00>Zded<00>ZRS(s{Launcher class for Aqua browsers on Mac OS X
2014-07-09 18:15:23 +08:00
Optionally specify a browser name on instantiation. Note that this
will not work for Aqua browsers if the user has moved the application
package after installation.
If no browser is specified, the default browser, as specified in the
Internet System Preferences panel, will be used.
2014-07-10 23:57:08 +08:00
cCs ||_dS(N(R (R<R ((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR=Esic Cs<>d|kst<00>d|kr+d|}ntt|<00><00>}|jdkred|jdd<00>}nR|jdkr}d }nd
2014-07-09 18:15:23 +08:00
|d }d |jdd<00>}d |j||f}tjdd<00>}|dkr<>tS|j |<00>|j
<00>}| S(Nt't:sfile:tdefaultsopen location "%s"t"s%22tOmniWebR;s toWindow %dis OpenURL "%s"s<>tell application "%s"
activate
%s %s
2014-07-10 23:57:08 +08:00
end tellt osascripttw( tAssertionErrorRXtboolR RDR#tpopenRRtwriteR<65>( R<RR R!tscriptttoWindowR'tosapipeRc((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRHs"      (RRR?R=RR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<79>;s  tMacOSXOSAScriptcBs eZd<00>Zded<00>ZRS(cCs ||_dS(N(t_name(R<R ((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR=jsicCs<>|jdkr(d|jdd<00>}nd|j|jdd<00>f}tjdd<00>}|dkritS|j|<00>|j<00>}| S(NR<4E>sopen location "%s"R<>s%22s<32>
2014-07-09 18:15:23 +08:00
tell application "%s"
activate
open location "%s"
end
2014-07-10 23:57:08 +08:00
R<>R<>(R<>RDR#R<>RRR<>R<>(R<RR R!R<>R<>Rc((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyRms   (RRR=RR(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyR<79>is tsafariR<69>tos2t os2netscapetstarts%stBROWSERR;c Csddl}dtjd}y#|jtjdd<00>\}}Wn=|jk
2014-07-09 18:15:23 +08:00
r}tj|IJtj|IJtjd<00>nXd}x>|D]6\}}|dkr<>d}q<>|dkr<>d}q<>q<>Wt|<00>dkr<>tj|IJtjd<00>n|d}t||<00>d GHdS(
Ni<4E><69><EFBFBD><EFBFBD>sDUsage: %s [-n | -t] url
-n: open new window
2014-07-10 23:57:08 +08:00
-t: open new tabiitntds-ns-tis(tgetoptREtargvR<76>RVtexittlenR( R<>tusagetoptsR@tmsgtnew_wintotaR((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pytmain<69>s( #     
2014-07-09 18:15:23 +08:00
 t__main__(6R?R#RRER.RGR]t__all__t ExceptionRRR
2014-07-10 23:57:08 +08:00
RRRRRRRRRFR-R"tobjectR:RRRSRktNetscapeRlRmtChromiumRnRoRpRvR<>R5R<>R$R7tiexploreRR<>R<>RR6t _userchoicestreverseRLR'R<>R(((s?e:\github\Wox.JSONRPC\Output\Debug\PythonHome\lib\webbrowser.pyt<module>s<>            P
2014-07-09 18:15:23 +08:00

  95 >
          . 
  #