From f1c192b996bbd08303170f5eb05d65a6180f3b1b Mon Sep 17 00:00:00 2001 From: Damien Churchill Date: Wed, 22 Jul 2009 20:23:16 +0000 Subject: [PATCH] just autodoc the Core and Daemon classes rather than use the RpcApi class --- deluge/_rpcapi.py | 20 - docs/build/doctrees/core/index.doctree | Bin 2630 -> 2607 bytes docs/build/doctrees/core/rpc.doctree | Bin 112179 -> 111709 bytes docs/build/doctrees/environment.pickle | Bin 27515 -> 27168 bytes docs/build/doctrees/index.doctree | Bin 5994 -> 5971 bytes .../build/doctrees/interfaces/console.doctree | Bin 2403 -> 2380 bytes docs/build/doctrees/interfaces/gtk.doctree | Bin 2383 -> 2360 bytes docs/build/doctrees/interfaces/index.doctree | Bin 2933 -> 2910 bytes docs/build/doctrees/interfaces/web.doctree | Bin 5755 -> 5732 bytes docs/build/doctrees/modules/common.doctree | Bin 84161 -> 83586 bytes docs/build/doctrees/modules/config.doctree | Bin 50204 -> 49859 bytes docs/build/html/_sources/core/rpc.txt | 4 +- docs/build/html/_static/jquery.js | 3561 +---------------- docs/build/html/core/index.html | 2 +- docs/build/html/core/rpc.html | 223 +- docs/build/html/genindex.html | 107 +- docs/build/html/index.html | 2 +- docs/build/html/interfaces/console.html | 2 +- docs/build/html/interfaces/gtk.html | 2 +- docs/build/html/interfaces/index.html | 2 +- docs/build/html/interfaces/web.html | 2 +- docs/build/html/modindex.html | 2 +- docs/build/html/modules/common.html | 2 +- docs/build/html/modules/config.html | 2 +- docs/build/html/objects.inv | 137 +- docs/build/html/search.html | 2 +- docs/build/html/searchindex.js | 2 +- docs/source/core/rpc.rst | 4 +- 28 files changed, 274 insertions(+), 3804 deletions(-) delete mode 100644 deluge/_rpcapi.py diff --git a/deluge/_rpcapi.py b/deluge/_rpcapi.py deleted file mode 100644 index 4ca9dc226..000000000 --- a/deluge/_rpcapi.py +++ /dev/null @@ -1,20 +0,0 @@ -from new import classobj -from deluge.core.core import Core -from deluge.core.daemon import Daemon - -class RpcApi: - pass - -def scan_for_methods(obj): - methods = { - '__doc__': 'Methods available in %s' % obj.__name__.lower() - } - for d in dir(obj): - if not hasattr(getattr(obj,d), '_rpcserver_export'): - continue - methods[d] = getattr(obj, d) - cobj = classobj(obj.__name__.lower(), (object,), methods) - setattr(RpcApi, obj.__name__.lower(), cobj) - -scan_for_methods(Core) -scan_for_methods(Daemon) diff --git a/docs/build/doctrees/core/index.doctree b/docs/build/doctrees/core/index.doctree index f5eac5438c2b4d53683f0acc2587b4ec101b7823..6dc1f24972b8b26f7cd2996f2771d3efe8f0f317 100644 GIT binary patch delta 28 jcmX>mvR-6^J|n-aenx(7s(wmhZf0tpe!%8X#*Z8Ti!cem delta 51 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 oE>n$@~ literal 112179 zcmeF41$Z3Cv+W&lY%9#1Y|ye}%K?X(!HJVNT1Np#SxalL#k#kx~ooAch}7H!0tVLZBui;sk7M9+ELe*Z_akq zC_6seR;(#ZmoH2o7G|hT_iM|H&lV@OXFCcrhK1g>4GZ<^)vGz%+Br5`*XY`tGVLvO zBiftR2b%IOTbOCsbPaV=tWwvJEjAYO&Y`F=-(GCVw{;Zy(5!aK&BoHKJyXmzcC_r4 zE%c?q;3+p~&vbTV8#Aq~v9^vvKUxi(ax1AB)6!bZy2hf*W(ze_SEME#*^Uk@Y3wLw zik%&WnQ2vnB9|SXFJ@DCsW8j%sX4}FJ8*v`<5>~3+>{w-nww(_#XMV>jW(-HxlOVU z)TXiBwd7q(v4wt~o#un4+*}qn<=e)zjBT8dY3-!Z9Ff6(Xrve!g*k^e%pw=GH>I$w zoo>z+<{Cb=ZXT0&P1#15ZOUbv#ues9>@rj4B2zq7Nx=D z2S;;;@!nP^Ekuo6zS)!&7Nb$Wh-=olyelj|ykQ6hlMf^nQKINFP2;kzqmV+-RHBP? zN71Dto{dY;>~Bnn@tH1-sJ3jA4^B(ceD!H(tLDx5iEXXjPSAx{b?|j zn428@<1=I1vc*Czt(KlFAssYqyeM#X6b4XvttnSdhORhj?Up6-InC@0(_kP%rZP$8 z?Z`NnDP{}H(PWKj*E>ExALi92dGA*qd z&!vVd(s1(eraXEQhu>^rrDC9HQM%{a@*J(j{hBn)v3S2 zlcNANSoELLC*PI>GQCK%Dte2jxJ>xi?j1I{ih4n`jHb~Fb)alP-JMx{JwiGrT zo~~)m(lMGQZH0}7r{_|qjLGMVZJY-xv~$X_@v!OAeKe9C+{+8fxN&c4NZ)yIP;cr>~`tw)I-vIsw^0yp+gZLZFUmbr#_*in(2-})Gu^i-*V5X|ST1Zms<2JBYnl#! z6t5|4n=gzA3)^u?<1!PY{;E&+O3y^c>U=7ln?5~LR6a62Vn{AOK09QC5u0zdP5sux zhcq|k=wURq4%t5M#&xu3nzBRMT|Pj3#}MBKLyE4mZQKy9qB@3nK|?f0hv2F@4o-#b z(|w8@6Y2OuL%L5ytgu76CQ~fBmeHM@n-+Eq3p>@O`!;vBt6oQ8=TU`G={`*y*SNwc z>@up*nC?58vmvK}x$CGxCOv~j(dbcyrrhS4bZ_6Pc~l{rn={jyp0Ty1En65fYD-9i$lUh1hIDVM zT^OH(a$9Wn25$)YkJ1! zOfggFs@6RT-9hK*Oy}s@9DTW4SlFHV>0V_@xgEr1591Pw%bw!0m$>Ym8gD@{E=jd? zq%tW6Vlm&8Z%uK<+pNolls|$DX=-g@Y^OL?8Q)k)Ixb52KZdwfW0&`- z{Fqc6+)^!V6Y{MS5Y^I_D(12!`DdCJc%){?cwxjdpFUv-?!0tvR)^E>h}J z>$kR+#Y*FDtu3R)r=1ujvdq0E79W~Z9n68Yu~^gAT!YRQ*-*^H*FMI!Ia}oXfV!iz zt@(*{h2zRSlkQh?R^fOJgA=TiPE;qIq)s|nopg#i=~Q*nOz{9X%{uAyuyBSt={P#+ zfBhT#_e}hIOnJ(k6&B9MNjBx;31L(29P{iPnP6fV?B9oSh!9-c_}?v zE&6&yUmV%Pgt{Rt+$aXe!Jt0JM2g10=2Vl*a$V4DL%Bm!X!InT3DJZq<}KHebrZ6V zF>Dip;Y(?zn94*4Z3OBf7IN7Mt8O~YiKj$GAUi6 z*A;F`c*4f?&E|<) z<*$e2uZQKYN937|6*8piDpceF1u*{TgDV#M%WYhh2!i@o=f2s@22Ww1ZSu%Z7kez zvZ_&2Q+PFBcr7fv?sb=@QhN5PiiJ01&zok?Te9bE+4GL52bOzq;J{REOIvY3&H8N&@?v%@6NiAFb>lfjVUASJ zFHIw+p&ied5-!`$k*p&%#^uK+W?o&5&D*#lvohP((aBLp2d!wTj%&+L>_|<_wKV18 zNoTw5=t9euHfF0ohNX&mj#!+jb9_v(-j{W495E+kQxo%@tu~F(;47C7jUAk(rSgso zLPCy99- zdYd>>*3}d~W=y=sfS9Kz*B3rfcYbQ!`I)-&b9Ltz>dr6KonL9dFQDQ1b@#qhC)5!X_K+;28l za?BBH*4LW#^UWG&f|Vb8u13|nk|i^H0pE6x&f?n{}+GNxj8Je^C&kb2^l<>5QFCyV(>gd44xN^{pjW+Q=2?e!ztiQP zOc%ExuFItZ^-!)Mr^BaP$h=C|EUZGhW)UG>v#5}+SxiXREDmbE%%icGQlZA;5+p*m zBwIQ=F!^2o+e4hc{Ih`OmXc%BfkwO?+H|mEH6uQpxutDKR@ZwU6U9auO<4&YdjP3ihqmohp4L^t1}lQ3ebPQrBcLol{_(Ww{5m*#v?XM27ngs@wq zswsaU$d9&*e1d!`TF#8lMF`5SKZGnU+eL9sQP|ZQNyga#?PQz{6f(}16Ee;Q2^nXD zL5;ITqT{TqqkxF|P2LS56}sh>x049Ou3#C&u1G>+R}vz2s1UI$3lXcRL1YQ!GL7I> zL5tIFHBzBlU3r|S8mUh@SO8=@D1ySzoA` zvH^+EZOGP>_W{={avP~uIuMo0puMrR+QhetLbUqTZK@V=(6*AzRN@s|+zz6M9r&=k zxk=i>OX3U+qlQ@qqjXv#qqY)a)Nmn2Z7sy8ZNQ}Swk2xTLSB??l%CVqaxp+Kra}@ZA+d?XIf%5Uh9cLNDwvv$8 z@j}G52@#tYBDNjW*prp&qyp$Ct|Jw?4&|A+eQn};yIoP08R4C_6D<=|fR>3uv~&s4 zGD(P*-9Tv(Q)$^07* zMbW-0@``(!w)>f^{k<$dZ4a;vMjfc87_^nZKpm$+>tbatVqRE?I@E1o1;|-n`4BqIaUapi`S(N;p*xAK zrkcs``a6tHmY{SXizYKYPB9IqdJPTh+c5E$$(kU|Eltq`;VFZOT(hvKHuZ^e8q%td zaHpFF9C3zr;)pYaIN~fJjyPM0BhCTkh$Z8RaxMjaqMS!6bmuD{Pm~KRgV+m6NbE&I z#9k~!>?K0PUJ9zWWv_6aIpv6m8#BExyp8<=V}$8=Nch;t`(x^ zIw5+l2c<_`rRN5ry7ER6p}UD~JXLg&;T5@?RVy8cO66p^#ai9!TSYU&I>p_lCh=tP zMYpTStL|yC++nir^s@Y9xyv$`b+?*g);&VZx>tx<_X#oUelY322guuGd5}ct97P)xRJYv#d^{5JA^_UP=j|*Y-gb-Fwf_|*v>8DgEPd`l}bkDHW zq%rwj|Ag7I5||ETVfV?yNv54=Zku<{nZD<}KKxo<``1#Zd%<>K&5I;t%}YY8d0B`x zuL!r$%BOo(Np1i#{+Er%|7(;nQhC_wbyA^wLwQE3o|N*dpnfUBy{X3OKy(s|q3$iK zkN&r{1O4v^(f_Ux{qG4;{ytct`2+2cM?WMHx{uh(qo${;yZ(<=JspUp`OC(~C)V^+ z-?ZT|3#Ob*PifuM7H>++E39oM)_VPNP9|EZsY`8MteMCiwp5NA?9mx~vD3As>>0E2 zS-q{WaJC*D(EVBc=KfAaQ-;+Q&i^xQHFkG$P^8h{n23p*78YG?WtXRBirGwao%_t2 zoN&2aHhymA;_@%FAD4eA#N}TJarxImT>cFxm-ml5`&;dh%fBNLy6@S_<))|W|2y~n zAZycs#z=X@{AiZ{w_vqfH3eAVOrslrh#>bjr3)ap+8#U#=x zziL07@|%!O`CUk-{2`=M{sh%2%f+4Y7X@0ha=oTkr%cCIonm^J;L}?k!84GM;2DJo z?kz;{OhN?r0To1Lp^goGRj$tNM`U@>9U8Brrl^avm~Vh@hcra?6&8tc{hs* zpS2{sB0^|M*Ue`8Fkp5PGGGoN2FxkMfVqSiFgJ*2;zeFJ4|zfp*V^-v3f+9l6PnJk z(}-lBm6metQaYYYHnkf^Y`onzTMyrE)+Y zcw!+To>*9jCl(RniA6z;ks<2G#mM+Gl*LJfE~R{YhO&fZ5V<4?iCjvE$fbpdTtPqmQ?5lD35dJ=)t*epc>JY%ULC~4N?Kx1`E+vCq&y2A=;J)rA>^b zZ3Usm;)*0fw-VcUEb2g$>`OOPb<=@pl}4MjUD?{M;@c*dOjlKl_H5lvEk;7D|j@*(&=(b`@M+PRp z>p#rs;o_PO)GrqQStaGeeP@>+f(s+4Yza!}Ch*X6t2Xvz3=zAZX- zSKc+^TthYOepse8z89nO3V$Q1$KX@G3FU)Ne2!rEY|veGf2hW7>+Q5ilUO_$VP?_6 z+i5=?TrZ@9(?U9Uq>v8Y9#jVpjgLqT6!?g<1F6vMsC*o8cCrj&cP1gRqlAdvMTpo& zA!2t0HBsbb4V?_=BhF}2p=(l}h|~QZjcZmD;!W17plgf@&^1Dp8?9f(q8w8>k`cHc4?Z3=2p5pA4Gyz-u+O@~P; zdPzRobXo?(Ca5WfO%!5Smk`4y2{CLpFzLkI$y>D9g9K|MmaT6%!=lZ9@F;bA!W19L z7jXpI%gEz|y;X=4_7UQQeT6t-KOs)oAJhO{QC)k03e~j-k_g>FY!!h_e%Jp4jyPES z(}DVLGEwOeGwe`rSi{;;R4Si_R<14j6V%E}lH`R*jXTV1td0+dn*!W_g!be9BZavC zC?W1YT8R6P0pTl{g5BjR@&tN{5?7e4 zE4?fqC9bjz#$BzZ7n$b&F1M->F1HEca=Q>NcL?EfC+J5DUcO6(^77pzLU#{aO;(fNHSK)vm6&uO zYr4;w#9GOHrsaOG1s_(el{{cOu;D=xvf&{iHaslEhDU_MZLQ={B^S4~k~QOT{}^SA zP}WKwCl$IUlxKwMRie_vhVDtVOb6nUTqt?UDx>^q?Lhf6LXn zpdE7JizGt#5?eXZ^mJ7ze_3_Yf%uuHY!tj=?Oyfm8jiPPMbE1w)r%uM4q^{bj?K1Z z^-@B!o?GEzvFITXT>@q7Im;3LF%x?{&CYo3NwgHFM;V4&dn->T>qSm`6f|CPi56j^ z^P4*Nn&+NyoGo{}ZoF~a8`_WK-W1}vw}d$EZ6S_(2bAO1iu>zb?U3W%BN4jy*~)RI zr|Uo04jX#`|Sa&qDR*FC;?uD_i=LdEV8q5f1t9aEJR%I?{od zmtuXq*73Wk{iCF|Vv^fh$Dg(j)BYkM(|XMSV%l^TzPf5@rV&yk0>p4)VMxK!5Hz5*C6_uU>Nq(J{Z;r zVK}o8hO-D^I4h`L-9Vn7jf_9y&rT|Ib0{Al@#nM*BIhC@k#h?XIgb#L^9m6;AE^G6 ziIO@$=#TgdkP6*`%9oD#l}5XT)QHiuuvJ3aA}T=JqC&JSCPdrfLbRnoX%k~AwImR8+#AX=qSU~QMNw#)jq$*Y3?YEf}jP^%KJzNh2;0FyM(OY+D2 zyPV%S(AhUJ79)*{5P08Bb@ z9C@2itt41Kuxx$9Ha4ODdoQzH8^SS5^yB%LH+}GKS0TI$LU=nNygP*OE`l0U8>=@u zRjA&WKq7P#*=qio{I35Q?p;!u4&K#?|4x9#98`I5USTtB*D`hY~wkoDPO73ovhkCvH?`i z!&9vFslIhI5AD&m)6^oKhgNdBN<4v{=HVG8=}a%l&%?7UgK=l8DaM^6#JF>X7U2;DVoHK|N~*EA5hR_)V)_)lhrTxWu>_kyD{`*N>wx?V9s;?-a+ zJmZc~Mqcml1@XD*F%#EfCPu!∾aRup14JbCvFwuiQ7PVV#|2S+)ja? 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 diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 45f09cb8528984ddfb50d681915302f2316506b5..bc8664d59f1eb1c597610c0a6d8462722bc81c77 100644 GIT binary patch literal 27168 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 OCuRH@X)f1L`~LurYHEl8 literal 27515 zcmb_l2b>c{`=*zpgV@CrM1#tm1wrf}h=?F<^(-Oga(lPQ<&x~14IJv)ImO-;QS23a z@4ffld+)t`_W$$DX0qAKmGJ#Pem~}UXJ+SlpPAVyTe5dpw@@sbvEr%bDl@e(F6mU0 znQ|&7=im+XG{fNG()3@l+&Iku{M#D7<8@J-F6bJ(_dUb?I0nmJ@;c2=wHVrafeq z(LI{U*h6O-z4C&Gx%O%yOUbP1-=#~Jnd->O=~RETJ={`iYkDFlpR~HA^w#u4(mYjx z%GuEd^JsgGoKZo4d0%V7N4yC+S$i#ude^p;yme}gUQXO$E!TDJ^+HBZuUSTfVo=Qb zW~)-^Ix}0Lj;gTNPurEQy+O$6E73*SbWUQXJ<{lcW_KKk*XA5BjdJY`(d>1(4BIJd zj}F@#8NFl4Xf})3#$g+7yqqy%dlRF3ye?~R8n!nx`qV~ajbhek?Xh9IDrfYGS?Fi9 znOz;WH*c+IzS)dc-U5}`(zUk=S(MSEF6u<>aWx~+9($X~Sh~rqbkdbm%w(>?+&Ejw zO7RSeI`MRB1AA+uS0>6nvBz7Lx!S1F+le+%nmxhjscLL*ldClbdaanPj-^xe@dkTh z$U-}8>)P8XuNEr2eaJ#Jcd$^q9W7LACkr*&*+M-g~n@`3#cpk+a5I+tR^Ii!CwBwfFQijk9(|))Z9A znqc(KJF{o2xW!5hji(@>J{mJsy|QVXl53gk+rNylFYTK+lE_Uq$3my+r9uKBRmmUwH z$3yAyFy--ZhX9U$750VH8_p-3RSi9UHgJUV_v8l^CC9p z#ca$=*qE2HF)ve%dASmFg==4_8?&hUrp=$h?z;+2dA{G2MYBLtQ#xg@R9>%k?Q05N zuT@^Jqu1-{^#*#qkzQ|7UT+Rr811*X_N^!q9PNtoHjeh&70DeWxsxP!k>qZY+{4j+ zHAnlsO8$MWeScoQbsMs7@x=OrJZB7ONTzEePCDj@iOKf?Z`yy*=o?uSl~jE$6|*0j zWmI5ZuA(pM?YF1aB&&b-37{gnyV`@gXADw0NUT8`d6RQ2#jPWUIY7 zu-cJas*w`1)%m67NmZe2Hi9`@;;7J5UWJ}EdgUj~XY^w2#VarcVal$spT+F>oNGUi z9YRwyitg`mouKkWNFtfOUi&Qp}brxe*ei!Yi_CWS~#vpPv zQ@dKnviAF7`vbjfqaVG+1BV!^d3NQL;w8`MU##5d)f7$TqDja8Flr39oTg+1i?kET zWw4Bzb*erep+2>`J|7#s^L=E0V)XJRJNr{(2#Z=~G83tdX4U4%{>

    `DZJC?w=uF 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 delta 51 zcmdlXbY5tKHltdEenx(7s=iZ@r*A-rzn^|eaz<%Uaz=#N<@{g3UV_ HSBn4u{%{k0 diff --git a/docs/build/doctrees/modules/common.doctree b/docs/build/doctrees/modules/common.doctree index 5440962b59ff2dce9fdf3a32ee28e6022aa2985a..47bc4fd792bca41a0d52c3e66f65c165dd5c1eea 100644 GIT binary patch delta 735 zcmX>&k+rFpbwd{mzoULeer~FMN@8wiYMy?;$o{x@Q;vC2sSyV&F56+^9n^^m%CxKmjj2sO*WJHaY$|c=Upu>6p7WyiSsx& zzfF$EW$NbbIr98Mp;)zUcC6VhfW^wqioF-bg;KHUah!NhY;)1l4;(`2IHY+d*R0{) z{B#{qNeosco9%bx@nZLk<7E3Ctea(yE$0!6#;#ZQau26a6jr&(>lwK>>)q{S#o{Ay zoGCuG=EEK@j+>8to@b32zP;}s5}B<>jksn3DGr-Bmus_Way+SSd!DVpubD%NMVq6lcLAYNYll$dF|T29Gb_hJvHW+5qB zCa-7Y-n{&FCo74;-Tcs+kHlmx_<@_$bddi)Mwob8rU$ApI&GI1X1v3pSxIalKs5Qw jFn(Ys-lpw9o3@e~(tOO^+f(!y3phzjI@{GP7^C?B5jetf diff --git a/docs/build/doctrees/modules/config.doctree b/docs/build/doctrees/modules/config.doctree index a2ce942948b5104bbc126228051de5885d0c4ebd..4c0ca512b0a686c97cc09c6cf24d8a85beee1320 100644 GIT binary patch delta 439 zcmbQ!!F;%tdBa?0enoodBa?0wFv!;{M=N1ryx(?fDnH_{gmX4(xT*y%$ywk@cg3e;)2BFRQ-a< z|DD7(A7Tz-(M)AvU?5hD!{#)OD`J{CBxrHpJXwARr)C8ST0ACmGIDR;p!tH0G;Nzd z8F;a2mXTnS-{v{yf!vx6#A@06-zk|@vzS=rz(Dqx_<(KmA&*6Dnx&-Z+Pu&IzOZH? zv065-PcCB7Y$aAX$X%0lOE@R<7xQnPoZ-N&*+h!g&AKJA;+j>YXqni)[^>]*$|^#(\w+)$/, - -// Is it a simple selector - isSimple = /^.[^:#\[\.]*$/, - -// Will speed up references to undefined, and allows munging its name. - undefined; - -jQuery.fn = jQuery.prototype = { - init: function( selector, context ) { - // Make sure that a selection was provided - selector = selector || document; - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this[0] = selector; - this.length = 1; - return this; - } - // Handle HTML strings - if ( typeof selector == "string" ) { - // Are we dealing with HTML string or an ID? - var match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) - selector = jQuery.clean( [ match[1] ], context ); - - // HANDLE: $("#id") - else { - var elem = document.getElementById( match[3] ); - - // Make sure an element was located - if ( elem ){ - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id != match[3] ) - return jQuery().find( selector ); - - // Otherwise, we inject the element directly into the jQuery object - return jQuery( elem ); - } - selector = []; - } - - // HANDLE: $(expr, [context]) - // (which is just equivalent to: $(content).find(expr) - } else - return jQuery( context ).find( selector ); - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) - return jQuery( document )[ jQuery.fn.ready ? "ready" : "load" ]( selector ); - - return this.setArray(jQuery.makeArray(selector)); - }, - - // The current version of jQuery being used - jquery: "1.2.6", - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - // The number of elements contained in the matched element set - length: 0, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == undefined ? - - // Return a 'clean' array - jQuery.makeArray( this ) : - - // Return just the object - this[ num ]; - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems ) { - // Build a new jQuery matched element set - var ret = jQuery( elems ); - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - // Return the newly-formed element set - return ret; - }, - - // Force the current matched set of elements to become - // the specified array of elements (destroying the stack in the process) - // You should use pushStack() in order to do this, but maintain the stack - setArray: function( elems ) { - // Resetting the length to 0, then using the native Array push - // is a super-fast way to populate an object with array-like properties - this.length = 0; - Array.prototype.push.apply( this, elems ); - - return this; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - var ret = -1; - - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem && elem.jquery ? elem[0] : elem - , this ); - }, - - attr: function( name, value, type ) { - var options = name; - - // Look for the case where we're accessing a style value - if ( name.constructor == String ) - if ( value === undefined ) - return this[0] && jQuery[ type || "attr" ]( this[0], name ); - - else { - options = {}; - options[ name ] = value; - } - - // Check to see if we're setting style values - return this.each(function(i){ - // Set all the styles - for ( name in options ) - jQuery.attr( - type ? - this.style : - this, - name, jQuery.prop( this, options[ name ], type, i, name ) - ); - }); - }, - - css: function( key, value ) { - // ignore negative width and height values - if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 ) - value = undefined; - return this.attr( key, value, "curCSS" ); - }, - - text: function( text ) { - if ( typeof text != "object" && text != null ) - return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) ); - - var ret = ""; - - jQuery.each( text || this, function(){ - jQuery.each( this.childNodes, function(){ - if ( this.nodeType != 8 ) - ret += this.nodeType != 1 ? - this.nodeValue : - jQuery.fn.text( [ this ] ); - }); - }); - - return ret; - }, - - wrapAll: function( html ) { - if ( this[0] ) - // The elements to wrap the target around - jQuery( html, this[0].ownerDocument ) - .clone() - .insertBefore( this[0] ) - .map(function(){ - var elem = this; - - while ( elem.firstChild ) - elem = elem.firstChild; - - return elem; - }) - .append(this); - - return this; - }, - - wrapInner: function( html ) { - return this.each(function(){ - jQuery( this ).contents().wrapAll( html ); - }); - }, - - wrap: function( html ) { - return this.each(function(){ - jQuery( this ).wrapAll( html ); - }); - }, - - append: function() { - return this.domManip(arguments, true, false, function(elem){ - if (this.nodeType == 1) - this.appendChild( elem ); - }); - }, - - prepend: function() { - return this.domManip(arguments, true, true, function(elem){ - if (this.nodeType == 1) - this.insertBefore( elem, this.firstChild ); - }); - }, - - before: function() { - return this.domManip(arguments, false, false, function(elem){ - this.parentNode.insertBefore( elem, this ); - }); - }, - - after: function() { - return this.domManip(arguments, false, true, function(elem){ - this.parentNode.insertBefore( elem, this.nextSibling ); - }); - }, - - end: function() { - return this.prevObject || jQuery( [] ); - }, - - find: function( selector ) { - var elems = jQuery.map(this, function(elem){ - return jQuery.find( selector, elem ); - }); - - return this.pushStack( /[^+>] [^+>]/.test( selector ) || selector.indexOf("..") > -1 ? - jQuery.unique( elems ) : - elems ); - }, - - clone: function( events ) { - // Do the clone - var ret = this.map(function(){ - if ( jQuery.browser.msie && !jQuery.isXMLDoc(this) ) { - // IE copies events bound via attachEvent when - // using cloneNode. Calling detachEvent on the - // clone will also remove the events from the orignal - // In order to get around this, we use innerHTML. - // Unfortunately, this means some modifications to - // attributes in IE that are actually only stored - // as properties will not be copied (such as the - // the name attribute on an input). - var clone = this.cloneNode(true), - container = document.createElement("div"); - container.appendChild(clone); - return jQuery.clean([container.innerHTML])[0]; - } else - return this.cloneNode(true); - }); - - // Need to set the expando to null on the cloned set if it exists - // removeData doesn't work here, IE removes it from the original as well - // this is primarily for IE but the data expando shouldn't be copied over in any browser - var clone = ret.find("*").andSelf().each(function(){ - if ( this[ expando ] != undefined ) - this[ expando ] = null; - }); - - // Copy the events from the original to the clone - if ( events === true ) - this.find("*").andSelf().each(function(i){ - if (this.nodeType == 3) - return; - var events = jQuery.data( this, "events" ); - - for ( var type in events ) - for ( var handler in events[ type ] ) - jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data ); - }); - - // Return the cloned set - return ret; - }, - - filter: function( selector ) { - return this.pushStack( - jQuery.isFunction( selector ) && - jQuery.grep(this, function(elem, i){ - return selector.call( elem, i ); - }) || - - jQuery.multiFilter( selector, this ) ); - }, - - not: function( selector ) { - if ( selector.constructor == String ) - // test special case where just one selector is passed in - if ( isSimple.test( selector ) ) - return this.pushStack( jQuery.multiFilter( selector, this, true ) ); - else - selector = jQuery.multiFilter( selector, this ); - - var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType; - return this.filter(function() { - return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector; - }); - }, - - add: function( selector ) { - return this.pushStack( jQuery.unique( jQuery.merge( - this.get(), - typeof selector == 'string' ? - jQuery( selector ) : - jQuery.makeArray( selector ) - ))); - }, - - is: function( selector ) { - return !!selector && jQuery.multiFilter( selector, this ).length > 0; - }, - - hasClass: function( selector ) { - return this.is( "." + selector ); - }, - - val: function( value ) { - if ( value == undefined ) { - - if ( this.length ) { - var elem = this[0]; - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type == "select-one"; - - // Nothing was selected - if ( index < 0 ) - return null; - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - if ( option.selected ) { - // Get the specifc value for the option - value = jQuery.browser.msie && !option.attributes.value.specified ? option.text : option.value; - - // We don't need an array for one selects - if ( one ) - return value; - - // Multi-Selects return an array - values.push( value ); - } - } - - return values; - - // Everything else, we just grab the value - } else - return (this[0].value || "").replace(/\r/g, ""); - - } - - return undefined; - } - - if( value.constructor == Number ) - value += ''; - - return this.each(function(){ - if ( this.nodeType != 1 ) - return; - - if ( value.constructor == Array && /radio|checkbox/.test( this.type ) ) - this.checked = (jQuery.inArray(this.value, value) >= 0 || - jQuery.inArray(this.name, value) >= 0); - - else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(value); - - jQuery( "option", this ).each(function(){ - this.selected = (jQuery.inArray( this.value, values ) >= 0 || - jQuery.inArray( this.text, values ) >= 0); - }); - - if ( !values.length ) - this.selectedIndex = -1; - - } else - this.value = value; - }); - }, - - html: function( value ) { - return value == undefined ? - (this[0] ? - this[0].innerHTML : - null) : - this.empty().append( value ); - }, - - replaceWith: function( value ) { - return this.after( value ).remove(); - }, - - eq: function( i ) { - return this.slice( i, i + 1 ); - }, - - slice: function() { - return this.pushStack( Array.prototype.slice.apply( this, arguments ) ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function(elem, i){ - return callback.call( elem, i, elem ); - })); - }, - - andSelf: function() { - return this.add( this.prevObject ); - }, - - data: function( key, value ){ - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - var data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - if ( data === undefined && this.length ) - data = jQuery.data( this[0], key ); - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - } else - return this.trigger("setData" + parts[1] + "!", [parts[0], value]).each(function(){ - jQuery.data( this, key, value ); - }); - }, - - removeData: function( key ){ - return this.each(function(){ - jQuery.removeData( this, key ); - }); - }, - - domManip: function( args, table, reverse, callback ) { - var clone = this.length > 1, elems; - - return this.each(function(){ - if ( !elems ) { - elems = jQuery.clean( args, this.ownerDocument ); - - if ( reverse ) - elems.reverse(); - } - - var obj = this; - - if ( table && jQuery.nodeName( this, "table" ) && jQuery.nodeName( elems[0], "tr" ) ) - obj = this.getElementsByTagName("tbody")[0] || this.appendChild( this.ownerDocument.createElement("tbody") ); - - var scripts = jQuery( [] ); - - jQuery.each(elems, function(){ - var elem = clone ? - jQuery( this ).clone( true )[0] : - this; - - // execute all scripts after the elements have been injected - if ( jQuery.nodeName( elem, "script" ) ) - scripts = scripts.add( elem ); - else { - // Remove any inner scripts for later evaluation - if ( elem.nodeType == 1 ) - scripts = scripts.add( jQuery( "script", elem ).remove() ); - - // Inject the elements into the document - callback.call( obj, elem ); - } - }); - - scripts.each( evalScript ); - }); - } -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -function evalScript( i, elem ) { - if ( elem.src ) - jQuery.ajax({ - url: elem.src, - async: false, - dataType: "script" - }); - - else - jQuery.globalEval( elem.text || elem.textContent || elem.innerHTML || "" ); - - if ( elem.parentNode ) - elem.parentNode.removeChild( elem ); -} - -function now(){ - return +new Date; -} - -jQuery.extend = jQuery.fn.extend = function() { - // copy reference to target object - var target = arguments[0] || {}, i = 1, length = arguments.length, deep = false, options; - - // Handle a deep copy situation - if ( target.constructor == Boolean ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target != "object" && typeof target != "function" ) - target = {}; - - // extend jQuery itself if only one argument is passed - if ( length == i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) - // Extend the base object - for ( var name in options ) { - var src = target[ name ], copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) - continue; - - // Recurse if we're merging object values - if ( deep && copy && typeof copy == "object" && !copy.nodeType ) - target[ name ] = jQuery.extend( deep, - // Never move original objects, clone them - src || ( copy.length != null ? [ ] : { } ) - , copy ); - - // Don't bring in undefined values - else if ( copy !== undefined ) - target[ name ] = copy; - - } - - // Return the modified object - return target; -}; - -var expando = "jQuery" + now(), uuid = 0, windowData = {}, - // exclude the following css properties to add px - exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i, - // cache defaultView - defaultView = document.defaultView || {}; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) - window.jQuery = _jQuery; - - return jQuery; - }, - - // See test/unit/core.js for details concerning this function. - isFunction: function( fn ) { - return !!fn && typeof fn != "string" && !fn.nodeName && - fn.constructor != Array && /^[\s[]?function/.test( fn + "" ); - }, - - // check if an element is in a (or is an) XML document - isXMLDoc: function( elem ) { - return elem.documentElement && !elem.body || - elem.tagName && elem.ownerDocument && !elem.ownerDocument.body; - }, - - // Evalulates a script in a global context - globalEval: function( data ) { - data = jQuery.trim( data ); - - if ( data ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.getElementsByTagName("head")[0] || document.documentElement, - script = document.createElement("script"); - - script.type = "text/javascript"; - if ( jQuery.browser.msie ) - script.text = data; - else - script.appendChild( document.createTextNode( data ) ); - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() == name.toUpperCase(); - }, - - cache: {}, - - data: function( elem, name, data ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // Compute a unique ID for the element - if ( !id ) - id = elem[ expando ] = ++uuid; - - // Only generate the data cache if we're - // trying to access or manipulate it - if ( name && !jQuery.cache[ id ] ) - jQuery.cache[ id ] = {}; - - // Prevent overriding the named cache with undefined values - if ( data !== undefined ) - jQuery.cache[ id ][ name ] = data; - - // Return the named cache data, or the ID for the element - return name ? - jQuery.cache[ id ][ name ] : - id; - }, - - removeData: function( elem, name ) { - elem = elem == window ? - windowData : - elem; - - var id = elem[ expando ]; - - // If we want to remove a specific section of the element's data - if ( name ) { - if ( jQuery.cache[ id ] ) { - // Remove the section of cache data - delete jQuery.cache[ id ][ name ]; - - // If we've removed all the data, remove the element's cache - name = ""; - - for ( name in jQuery.cache[ id ] ) - break; - - if ( !name ) - jQuery.removeData( elem ); - } - - // Otherwise, we want to remove all of the element's data - } else { - // Clean up the element expando - try { - delete elem[ expando ]; - } catch(e){ - // IE has trouble directly removing the expando - // but it's ok with using removeAttribute - if ( elem.removeAttribute ) - elem.removeAttribute( expando ); - } - - // Completely remove the data cache - delete jQuery.cache[ id ]; - } - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, length = object.length; - - if ( args ) { - if ( length == undefined ) { - for ( name in object ) - if ( callback.apply( object[ name ], args ) === false ) - break; - } else - for ( ; i < length; ) - if ( callback.apply( object[ i++ ], args ) === false ) - break; - - // A special, fast, case for the most common use of each - } else { - if ( length == undefined ) { - for ( name in object ) - if ( callback.call( object[ name ], name, object[ name ] ) === false ) - break; - } else - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ){} - } - - return object; - }, - - prop: function( elem, value, type, i, name ) { - // Handle executable functions - if ( jQuery.isFunction( value ) ) - value = value.call( elem, i ); - - // Handle passing in a number to a CSS property - return value && value.constructor == Number && type == "curCSS" && !exclude.test( name ) ? - value + "px" : - value; - }, - - className: { - // internal only, use addClass("class") - add: function( elem, classNames ) { - jQuery.each((classNames || "").split(/\s+/), function(i, className){ - if ( elem.nodeType == 1 && !jQuery.className.has( elem.className, className ) ) - elem.className += (elem.className ? " " : "") + className; - }); - }, - - // internal only, use removeClass("class") - remove: function( elem, classNames ) { - if (elem.nodeType == 1) - elem.className = classNames != undefined ? - jQuery.grep(elem.className.split(/\s+/), function(className){ - return !jQuery.className.has( classNames, className ); - }).join(" ") : - ""; - }, - - // internal only, use hasClass("class") - has: function( elem, className ) { - return jQuery.inArray( className, (elem.className || elem).toString().split(/\s+/) ) > -1; - } - }, - - // A method for quickly swapping in/out CSS properties to get correct calculations - swap: function( elem, options, callback ) { - var old = {}; - // Remember the old values, and insert the new ones - for ( var name in options ) { - old[ name ] = elem.style[ name ]; - elem.style[ name ] = options[ name ]; - } - - callback.call( elem ); - - // Revert the old values - for ( var name in options ) - elem.style[ name ] = old[ name ]; - }, - - css: function( elem, name, force ) { - if ( name == "width" || name == "height" ) { - var val, props = { position: "absolute", visibility: "hidden", display:"block" }, which = name == "width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ]; - - function getWH() { - val = name == "width" ? elem.offsetWidth : elem.offsetHeight; - var padding = 0, border = 0; - jQuery.each( which, function() { - padding += parseFloat(jQuery.curCSS( elem, "padding" + this, true)) || 0; - border += parseFloat(jQuery.curCSS( elem, "border" + this + "Width", true)) || 0; - }); - val -= Math.round(padding + border); - } - - if ( jQuery(elem).is(":visible") ) - getWH(); - else - jQuery.swap( elem, props, getWH ); - - return Math.max(0, val); - } - - return jQuery.curCSS( elem, name, force ); - }, - - curCSS: function( elem, name, force ) { - var ret, style = elem.style; - - // A helper method for determining if an element's values are broken - function color( elem ) { - if ( !jQuery.browser.safari ) - return false; - - // defaultView is cached - var ret = defaultView.getComputedStyle( elem, null ); - return !ret || ret.getPropertyValue("color") == ""; - } - - // We need to handle opacity special in IE - if ( name == "opacity" && jQuery.browser.msie ) { - ret = jQuery.attr( style, "opacity" ); - - return ret == "" ? - "1" : - ret; - } - // Opera sometimes will give the wrong display answer, this fixes it, see #2037 - if ( jQuery.browser.opera && name == "display" ) { - var save = style.outline; - style.outline = "0 solid black"; - style.outline = save; - } - - // Make sure we're using the right name for getting the float value - if ( name.match( /float/i ) ) - name = styleFloat; - - if ( !force && style && style[ name ] ) - ret = style[ name ]; - - else if ( defaultView.getComputedStyle ) { - - // Only "float" is needed here - if ( name.match( /float/i ) ) - name = "float"; - - name = name.replace( /([A-Z])/g, "-$1" ).toLowerCase(); - - var computedStyle = defaultView.getComputedStyle( elem, null ); - - if ( computedStyle && !color( elem ) ) - ret = computedStyle.getPropertyValue( name ); - - // If the element isn't reporting its values properly in Safari - // then some display: none elements are involved - else { - var swap = [], stack = [], a = elem, i = 0; - - // Locate all of the parent display: none elements - for ( ; a && color(a); a = a.parentNode ) - stack.unshift(a); - - // Go through and make them visible, but in reverse - // (It would be better if we knew the exact display type that they had) - for ( ; i < stack.length; i++ ) - if ( color( stack[ i ] ) ) { - swap[ i ] = stack[ i ].style.display; - stack[ i ].style.display = "block"; - } - - // Since we flip the display style, we have to handle that - // one special, otherwise get the value - ret = name == "display" && swap[ stack.length - 1 ] != null ? - "none" : - ( computedStyle && computedStyle.getPropertyValue( name ) ) || ""; - - // Finally, revert the display styles back - for ( i = 0; i < swap.length; i++ ) - if ( swap[ i ] != null ) - stack[ i ].style.display = swap[ i ]; - } - - // We should always get a number back from opacity - if ( name == "opacity" && ret == "" ) - ret = "1"; - - } else if ( elem.currentStyle ) { - var camelCase = name.replace(/\-(\w)/g, function(all, letter){ - return letter.toUpperCase(); - }); - - ret = elem.currentStyle[ name ] || elem.currentStyle[ camelCase ]; - - // From the awesome hack by Dean Edwards - // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 - - // If we're not dealing with a regular pixel number - // but a number that has a weird ending, we need to convert it to pixels - if ( !/^\d+(px)?$/i.test( ret ) && /^\d/.test( ret ) ) { - // Remember the original values - var left = style.left, rsLeft = elem.runtimeStyle.left; - - // Put in the new values to get a computed value out - elem.runtimeStyle.left = elem.currentStyle.left; - style.left = ret || 0; - ret = style.pixelLeft + "px"; - - // Revert the changed values - style.left = left; - elem.runtimeStyle.left = rsLeft; - } - } - - return ret; - }, - - clean: function( elems, context ) { - var ret = []; - context = context || document; - // !context.createElement fails in IE with an error but returns typeof 'object' - if (typeof context.createElement == 'undefined') - context = context.ownerDocument || context[0] && context[0].ownerDocument || document; - - jQuery.each(elems, function(i, elem){ - if ( !elem ) - return; - - if ( elem.constructor == Number ) - elem += ''; - - // Convert html string into DOM nodes - if ( typeof elem == "string" ) { - // Fix "XHTML"-style tags in all browsers - elem = elem.replace(/(<(\w+)[^>]*?)\/>/g, function(all, front, tag){ - return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i) ? - all : - front + ">"; - }); - - // Trim whitespace, otherwise indexOf won't work as expected - var tags = jQuery.trim( elem ).toLowerCase(), div = context.createElement("div"); - - var wrap = - // option or optgroup - !tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - tags.match(/^<(thead|tbody|tfoot|colg|cap)/) && - [ 1, "", "
    " ] || - - !tags.indexOf("", "" ] || - - // matched above - (!tags.indexOf("", "" ] || - - !tags.indexOf("", "" ] || - - // IE can't serialize and diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 77269916b..3e600b6f9 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({desctypes:{"0":"method","1":"attribute","2":"function","3":"class"},terms:{represent:8,all:[6,1],is_ip:8,four:6,follow:1,disk:1,dht:6,output_vers:1,privat:4,exception_typ:6,base64:6,readabl:8,send:6,program:8,sent:6,liter:[1,8],string:[6,1,8],fals:[1,8],util:8,stop_at_ratio:6,list:[6,8],upload:6,magnet:[6,8],item:1,create_magnet_uri:8,rpc_respons:6,direct:0,second:8,download:[6,8],config_dir:1,port:6,index:[0,6],what:[6,1],repli:6,abl:4,access:[1,4,8],version:[6,1,8],"new":6,method:6,metadata:8,slot:6,full:4,hash:8,filter_dict:6,gener:6,get_health:6,rename_fil:6,path:[6,1,8],along:1,modifi:1,sinc:[1,8],valu:[6,1,4,8],open_url_in_brows:8,search:0,purpos:6,convers:1,get_download_r:6,queue:6,prior:6,osx_check:8,chang:[6,1],infohash:8,overrid:4,via:4,appli:6,modul:[0,1],prefer:[6,4],filenam:[6,1,8],initiliaz:1,api:[6,5],rename_fold:6,instal:6,total:8,establish:6,unit:8,regex:8,from:[6,8],would:[6,1],commun:6,regist:1,two:8,call:[6,1],type:[6,1,8],flag:6,accept:1,hold:6,cach:6,dot:6,must:1,none:[6,1,8],augment:1,can:[0,1,6],dec:8,root:0,fetch:[6,8],def:1,control:1,defer:6,quickstart:0,process:6,get_default_download_dir:8,indic:0,want:[6,1,4],serial:1,multipl:6,filepath:8,anoth:6,add_torrent_url:6,how:4,set_item:1,instead:6,simpl:8,"23m":8,set_torrent_max_connect:6,get_filter_tre:6,max:6,lag:6,befor:1,mac:8,date:8,data:[6,8],attempt:6,add_torrent_magnet:6,caus:6,callback:1,su5225urmtueqldxqwrb2eqwn6kltykn:8,allow:1,enter:6,egg:8,order:6,config_fil:1,get_pixmap:8,move:6,rpc_event:6,paramet:[6,1,8],pixmap:8,monitor:1,set_torrent_track:6,gtk:[0,7,3],set_torrent_move_complet:6,platform:8,window:[4,8],bittorr:8,non:6,within:8,"return":[6,1,8],"__getitem__":1,auto:6,set_torrent_auto_manag:6,initi:[6,1],framework:4,new_fold:6,nov:0,register_set_funct:1,name:[6,1,8],anyth:1,config:[0,1,8,6],stop_ratio:6,request_id:6,delugerpc:[0,5,6],higher:6,event_nam:6,extj:4,replac:6,realli:1,filedump:6,connect:[6,8],todo:[],event:[6,5],shown:8,space:8,payload:6,content:[0,1,6],adapt:0,print:1,get_default_config_dir:8,unaccess:6,sphinx:0,earlier:6,given:8,free:8,"__setitem__":1,base:[1,8],rencod:6,dictionari:[6,1],org:8,"byte":8,could:[6,1],traceback:6,set_torrent_remove_at_ratio:6,set_config:6,filter:6,get_config:6,place:8,timezon:8,first:6,rang:[1,8],directli:1,onc:6,number:[6,8],tier:6,done:1,messag:[6,5],owner:1,open:[6,8],add_torrent_fil:6,size:[6,8],prioriti:6,differ:[1,4],fetch_url:8,top:4,get_session_st:6,system:8,least:0,get_upload_r:6,master:0,interfac:[0,4,3],listen:6,consol:[0,2,3],option:[6,8],specifi:4,part:8,than:1,serv:6,kind:6,keyword:6,remot:[6,5],free_spac:8,remov:6,rate:6,fpcnt:8,str:[6,1],is_magnet:8,torrent:[6,8],recheck:6,browser:8,pre:[1,8],test_listen_port:6,arg:6,argument:[6,1],set_torrent_file_prior:6,have:[6,1],tabl:0,need:[6,1],built:4,inform:4,mib:8,fsize:8,get_revis:8,note:1,without:6,take:[6,1],which:[6,1,4],fsize_b:8,unless:1,get_stat:6,object:[6,1],compress:6,pair:6,"_rpcapi":6,"class":[6,1,8],apply_al:1,url:[6,8],urn:8,request:[6,5],uri:[6,8],doe:[1,8],btih:8,set_torrent_max_upload_slot:6,determin:[6,8],apply_now:1,get_enabled_plugin:6,get_torrents_statu:6,show:8,upload_plugin:6,session:6,is_url:8,priv:6,involv:6,current:[6,1,8],onli:[1,8],ratio:[6,8],configur:[3,1,4,8],activ:6,state:6,should:[0,1,6],dict:[6,1],get_num_connect:6,get_listen_port:6,get_dht_nod:6,folder:[6,8],local:[6,8],count:6,get_vers:8,variou:[1,8],get:[6,1,8],stop:6,ssl:[3,4],enabl:[6,4],provid:8,common:[0,8],contain:0,respond:6,certif:4,set:[6,1],fspeed:8,delug:[0,1,2,3,4,5,6,7,8],signifi:1,respons:[6,5],awar:6,statu:6,someth:1,listen_interfac:[],set_torrent_prioritize_first_last:6,written:1,ftime:8,rpcapi:6,altern:6,kei:[6,1,4],vista_check:8,succeed:1,come:6,tue:0,addit:6,last:6,rtype:1,rescan_plugin:6,rpc_error:6,com:[],load:1,simpli:1,point:6,rescan:6,set_torrent_move_completed_path:6,header:6,rpc:[6,5],been:6,insuffici:6,valueerror:1,plugin_data:6,files:8,fire:6,convert:1,ani:6,decim:8,func:1,those:1,"case":6,look:8,exception_msg:6,zlib:6,windows_check:8,"while":6,error:[6,5],get_method_list:6,get_available_plugin:6,"default":[1,4,8],kwarg:6,set_torrent_stop_ratio:6,conf:1,incom:6,revis:8,"_statu":6,welcom:0,receiv:6,get_status_kei:6,same:[6,1,4],binari:6,epoch:8,document:[0,6],complet:[0,6],http:8,webserv:4,see:[1,4,8],upon:6,get_cache_statu:6,rais:[6,1],apply_set_funct:1,kib:8,resume_all_torr:6,exampl:1,thi:[0,1,6],plugin:6,show_zero_hit:6,protocol:6,paus:6,less:1,hide_cat:6,fpeer:8,human:8,sidebar:6,speed:[6,8],web:[0,4,3],run_convert:1,easi:8,except:6,param:1,desktop:8,add:[6,4],valid:8,register_change_callback:1,input:1,save:1,build:8,fname:8,xmlrpc:6,format:[6,1,5,8],read:6,piec:6,set_torrent_max_download_spe:6,know:6,get_item:1,daemon:[6,4],like:0,docutil:[1,8],get_session_statu:6,integ:6,server:6,page:0,depend:6,"function":[1,8],www:[],num_peer:8,set_torrent_max_upload_spe:6,some:[6,1],percentag:8,intern:1,"export":6,toctre:0,get_torr:6,save_dht_st:[],per:8,tracker:[6,8],total_p:8,core:[0,5,6],set_torrent_stop_at_ratio:6,run:[1,4],usag:[1,8],peer:8,after:1,plugin_fil:6,side:6,includ:8,input_rang:1,client:6,"float":8,encod:6,ensur:6,announc:8,your:[0,4],manag:6,span:[1,8],wai:[1,4],transfer:8,force_recheck:6,why:6,avail:[6,8],start:[],return_valu:6,gib:8,resum:6,pause_all_torr:6,torrent_id:6,form:8,forc:6,tupl:1,bundl:6,message_typ:6,keyerror:1,link:6,newer:1,renam:6,line:1,"true":[6,1,8],info:[6,8],made:6,possibl:6,whether:1,wish:4,displai:8,below:[6,1],fdate:8,similar:1,emit:6,featur:4,creat:[0,1,8,4,6],"int":[6,1,8],get_config_valu:6,repres:8,twist:4,exist:[6,8],file:[0,1,8,6],check:[6,8],vista:8,encrypt:4,set_torrent_opt:6,when:[6,1,4],detail:6,field:6,other:[6,4],bool:[1,8],test:[1,8],you:[0,1,4],node:6,junk:[],intend:4,svn:8,open_fil:8,longer:6,directori:[1,8],yatblog:[],time:8,get_path_s:[6,8]},titles:["Welcome to Deluge’s documentation!","deluge.config","Deluge Console UI","Deluge’s Interfaces","Deluge Web UI","The Deluge Core","Deluge RPC","Deluge GTK UI","deluge.common"],modules:{"deluge.config":1,"deluge.common":8},descrefs:{"deluge._rpcapi.RpcApi.core":{force_recheck:[6,0],rename_files:[6,0],get_upload_rate:[6,0],set_torrent_move_completed_path:[6,0],add_torrent_file:[6,0],set_torrent_stop_ratio:[6,0],get_enabled_plugins:[6,0],get_available_plugins:[6,0],get_torrents_status:[6,0],get_path_size:[6,0],rename_folder:[6,0],add_torrent_url:[6,0],set_torrent_prioritize_first_last:[6,0],set_torrent_trackers:[6,0],get_dht_nodes:[6,0],get_status_keys:[6,0],set_torrent_max_download_speed:[6,0],upload_plugin:[6,0],test_listen_port:[6,0],get_stats:[6,0],get_filter_tree:[6,0],set_torrent_stop_at_ratio:[6,0],get_config_values:[6,0],get_listen_port:[6,0],resume_all_torrents:[6,0],get_session_status:[6,0],pause_all_torrents:[6,0],get_health:[6,0],set_torrent_move_completed:[6,0],get_cache_status:[6,0],rescan_plugins:[6,0],get_num_connections:[6,0],set_torrent_max_upload_speed:[6,0],set_torrent_max_upload_slots:[6,0],get_config_value:[6,0],add_torrent_magnet:[6,0],set_torrent_options:[6,0],set_torrent_remove_at_ratio:[6,0],set_config:[6,0],set_torrent_max_connections:[6,0],get_config:[6,0],get_download_rate:[6,0],set_torrent_file_priorities:[6,0],get_session_state:[6,0],set_torrent_auto_managed:[6,0]},"deluge.config":{Config:[1,3]},"deluge._rpcapi":{RpcApi:[6,3]},"deluge._rpcapi.RpcApi.daemon":{get_method_list:[6,0],info:[6,0]},"deluge.config.Config":{load:[1,0],apply_all:[1,0],config_file:[1,1],"__getitem__":[1,0],apply_set_functions:[1,0],run_converter:[1,0],set_item:[1,0],"__setitem__":[1,0],register_change_callback:[1,0],register_set_function:[1,0],save:[1,0],config:[1,1],get_item:[1,0]},"deluge._rpcapi.RpcApi":{core:[6,3],daemon:[6,3]},"deluge.common":{is_ip:[8,2],get_pixmap:[8,2],get_default_download_dir:[8,2],fspeed:[8,2],fpeer:[8,2],get_revision:[8,2],is_url:[8,2],vista_check:[8,2],fetch_url:[8,2],open_file:[8,2],get_version:[8,2],fsize:[8,2],ftime:[8,2],get_default_config_dir:[8,2],open_url_in_browser:[8,2],get_path_size:[8,2],free_space:[8,2],windows_check:[8,2],fpcnt:[8,2],osx_check:[8,2],fdate:[8,2],create_magnet_uri:[8,2],is_magnet:[8,2]}},filenames:["index","modules/config","interfaces/console","interfaces/index","interfaces/web","core/index","core/rpc","interfaces/gtk","modules/common"]}) \ No newline at end of file +Search.setIndex({desctypes:{"0":"method","1":"function","2":"class","3":"attribute"},terms:{represent:8,all:[6,1],is_ip:8,four:6,follow:1,disk:1,dht:6,output_vers:1,privat:4,exception_typ:6,base64:6,readabl:8,send:6,program:8,sent:6,liter:[1,8],string:[6,1,8],fals:[6,1,8],util:8,stop_at_ratio:6,list:[6,8],upload:6,magnet:[6,8],item:1,create_magnet_uri:8,rpc_respons:6,direct:0,second:8,download:[6,8],config_dir:1,port:6,index:[0,6],what:[6,1],repli:6,abl:4,access:[1,4,8],version:[6,1,8],"new":6,method:6,metadata:8,slot:6,full:4,hash:8,filter_dict:6,gener:6,get_health:6,rename_fil:6,path:[6,1,8],along:1,modifi:1,sinc:[1,8],valu:[6,1,4,8],open_url_in_brows:8,search:0,purpos:6,convers:1,get_download_r:6,queue:6,prior:6,osx_check:8,chang:[6,1],infohash:8,overrid:4,via:4,appli:6,modul:[0,1],prefer:[6,4],filenam:[6,1,8],initiliaz:1,api:[6,5],rename_fold:6,instal:6,total:8,establish:6,unit:8,regex:8,from:[6,8],would:[6,1],commun:6,regist:1,two:8,call:[6,1],type:[6,1,8],flag:6,accept:1,hold:6,cach:6,dot:6,must:1,none:[6,1,8],augment:1,can:[0,1,6],dec:8,root:0,fetch:[6,8],def:1,control:1,defer:6,quickstart:0,process:6,get_default_download_dir:8,indic:0,want:[6,1,4],serial:1,multipl:6,filepath:8,anoth:6,add_torrent_url:6,how:4,set_item:1,instead:6,simpl:8,"23m":8,set_torrent_max_connect:6,get_filter_tre:6,max:6,lag:6,befor:1,mac:8,date:8,data:[6,8],attempt:6,add_torrent_magnet:6,caus:6,callback:1,su5225urmtueqldxqwrb2eqwn6kltykn:8,allow:1,enter:6,egg:8,order:6,config_fil:1,get_pixmap:8,move:6,rpc_event:6,paramet:[6,1,8],pixmap:8,monitor:1,set_torrent_track:6,gtk:[0,7,3],set_torrent_move_complet:6,platform:8,window:[4,8],bittorr:8,non:6,within:8,"return":[6,1,8],"__getitem__":1,auto:6,set_torrent_auto_manag:6,initi:[6,1],framework:4,new_fold:6,nov:0,register_set_funct:1,name:[6,1,8],anyth:1,config:[0,1,8,6],stop_ratio:6,request_id:6,delugerpc:[0,5,6],higher:6,event_nam:6,extj:4,replac:6,realli:1,filedump:6,connect:[6,8],todo:[],event:[6,5],shown:8,space:8,payload:6,content:[0,1,6],adapt:0,print:1,get_default_config_dir:8,unaccess:6,sphinx:0,earlier:6,given:8,free:8,"__setitem__":1,base:[1,8],rencod:6,dictionari:[6,1],org:8,"byte":8,could:[6,1],traceback:6,set_torrent_remove_at_ratio:6,set_config:6,filter:6,get_config:6,place:8,timezon:8,first:6,rang:[1,8],directli:1,onc:[],number:[6,8],tier:6,done:1,messag:[6,5],owner:1,open:[6,8],add_torrent_fil:6,size:[6,8],prioriti:6,differ:[1,4],fetch_url:8,top:4,get_session_st:6,system:8,least:0,get_upload_r:6,master:0,interfac:[0,4,3],listen:6,consol:[0,2,3],option:[6,8],specifi:4,part:8,than:1,serv:6,kind:6,keyword:6,remot:[6,5],free_spac:8,remov:6,rate:6,fpcnt:8,str:[6,1],is_magnet:8,torrent:[6,8],recheck:6,browser:8,pre:[1,8],test_listen_port:6,arg:6,ani:6,set_torrent_file_prior:6,have:[6,1],tabl:0,need:[6,1],built:4,inform:4,mib:8,fsize:8,get_revis:8,note:1,without:6,take:[6,1],which:[6,1,4],fsize_b:8,unless:1,get_stat:6,object:[6,1],compress:6,pair:6,"_rpcapi":[],"class":[6,1,8],apply_al:1,url:[6,8],urn:8,request:[6,5],uri:[6,8],doe:[1,8],btih:8,set_torrent_max_upload_slot:6,determin:[6,8],apply_now:1,get_enabled_plugin:6,get_torrents_statu:6,show:8,upload_plugin:6,session:6,is_url:8,priv:6,involv:6,current:[6,1,8],onli:[1,8],ratio:[6,8],configur:[3,1,4,8],activ:6,state:6,should:[0,1,6],dict:[6,1],get_num_connect:6,get_listen_port:6,get_dht_nod:6,folder:[6,8],local:8,count:6,get_vers:8,variou:[1,8],get:[6,1,8],stop:6,ssl:[3,4],enabl:[6,4],provid:8,common:[0,8],contain:0,respond:6,certif:4,set:[6,1],fspeed:8,delug:[0,1,2,3,4,5,6,7,8],signifi:1,respons:[6,5],awar:6,statu:6,someth:1,listen_interfac:6,set_torrent_prioritize_first_last:6,written:1,ftime:8,rpcapi:[],altern:6,kei:[6,1,4],vista_check:8,succeed:1,come:6,tue:0,addit:6,last:6,rtype:1,rescan_plugin:6,rpc_error:6,com:[],load:1,simpli:1,point:6,rescan:6,set_torrent_move_completed_path:6,header:6,rpc:[6,5],been:[],insuffici:6,valueerror:1,plugin_data:6,files:8,fire:[],convert:1,argument:[6,1],decim:8,func:1,those:1,"case":6,look:8,exception_msg:6,zlib:6,windows_check:8,"while":6,error:[6,5],get_method_list:6,get_available_plugin:6,"default":[1,4,8],kwarg:6,set_torrent_stop_ratio:6,conf:1,incom:6,revis:8,"_statu":6,welcom:0,receiv:6,get_status_kei:6,same:[6,1,4],binari:6,epoch:8,document:[0,6],complet:[0,6],http:8,webserv:4,see:[1,4,8],upon:6,get_cache_statu:6,rais:[6,1],apply_set_funct:1,kib:8,resume_all_torr:6,exampl:1,thi:[0,1,6],plugin:6,show_zero_hit:6,protocol:6,paus:6,less:1,hide_cat:6,fpeer:8,human:8,sidebar:6,speed:[6,8],web:[0,4,3],run_convert:1,easi:8,except:6,param:1,desktop:8,add:[6,4],valid:8,register_change_callback:1,input:1,save:[6,1],build:8,fname:8,xmlrpc:6,format:[6,1,5,8],read:6,piec:6,set_torrent_max_download_spe:6,know:6,get_item:1,daemon:[6,4],like:0,docutil:[1,8],get_session_statu:6,integ:6,server:6,page:0,depend:6,"function":[1,8],www:[],num_peer:8,set_torrent_max_upload_spe:6,some:[6,1],percentag:8,intern:1,"export":6,toctre:0,get_torr:6,save_dht_st:6,per:8,tracker:[6,8],total_p:8,core:[0,5,6],set_torrent_stop_at_ratio:6,run:[1,4],usag:[1,8],peer:8,after:1,plugin_fil:6,side:6,includ:8,input_rang:1,client:6,"float":8,encod:6,ensur:6,announc:8,your:[0,4],manag:6,span:[1,8],wai:[1,4],transfer:8,force_recheck:6,why:6,avail:[6,8],start:6,return_valu:6,gib:8,resum:6,pause_all_torr:6,torrent_id:6,form:8,forc:6,tupl:1,bundl:6,message_typ:6,keyerror:1,link:6,newer:1,renam:6,line:1,"true":[6,1,8],info:[6,8],made:6,possibl:6,whether:1,wish:4,displai:8,below:[6,1],fdate:8,similar:1,emit:6,featur:4,creat:[0,1,8,4,6],classic:6,"int":[6,1,8],get_config_valu:6,repres:8,twist:4,exist:[6,8],file:[0,1,8,6],check:[6,8],vista:8,encrypt:4,set_torrent_opt:6,when:[6,1,4],detail:6,field:6,other:[6,4],bool:[1,8],test:[1,8],you:[0,1,4],node:6,junk:[],intend:4,svn:8,open_fil:8,longer:6,directori:[1,8],yatblog:[],time:8,get_path_s:[6,8]},titles:["Welcome to Deluge’s documentation!","deluge.config","Deluge Console UI","Deluge’s Interfaces","Deluge Web UI","The Deluge Core","Deluge RPC","Deluge GTK UI","deluge.common"],modules:{"deluge.config":1,"deluge.common":8},descrefs:{"deluge.config":{Config:[1,2]},"deluge.core.daemon.Daemon":{get_method_list:[6,0],info:[6,0]},"deluge.config.Config":{apply_set_functions:[1,0],apply_all:[1,0],config_file:[1,3],"__getitem__":[1,0],run_converter:[1,0],set_item:[1,0],load:[1,0],"__setitem__":[1,0],register_change_callback:[1,0],register_set_function:[1,0],save:[1,0],config:[1,3],get_item:[1,0]},"deluge.core.core.Core":{force_recheck:[6,0],rename_files:[6,0],get_stats:[6,0],upload_plugin:[6,0],save_dht_state:[6,0],set_torrent_max_upload_speed:[6,0],set_torrent_stop_at_ratio:[6,0],set_torrent_file_priorities:[6,0],get_enabled_plugins:[6,0],get_torrents_status:[6,0],start:[6,0],get_path_size:[6,0],rename_folder:[6,0],add_torrent_url:[6,0],set_torrent_prioritize_first_last:[6,0],set_torrent_trackers:[6,0],get_dht_nodes:[6,0],get_status_keys:[6,0],set_torrent_max_download_speed:[6,0],get_upload_rate:[6,0],test_listen_port:[6,0],get_available_plugins:[6,0],get_filter_tree:[6,0],add_torrent_file:[6,0],get_config_values:[6,0],get_listen_port:[6,0],resume_all_torrents:[6,0],get_session_status:[6,0],pause_all_torrents:[6,0],get_health:[6,0],set_torrent_move_completed:[6,0],get_cache_status:[6,0],rescan_plugins:[6,0],get_num_connections:[6,0],set_torrent_move_completed_path:[6,0],set_torrent_max_upload_slots:[6,0],get_config_value:[6,0],add_torrent_magnet:[6,0],set_torrent_options:[6,0],set_torrent_remove_at_ratio:[6,0],set_config:[6,0],set_torrent_max_connections:[6,0],get_config:[6,0],get_download_rate:[6,0],set_torrent_stop_ratio:[6,0],get_session_state:[6,0],set_torrent_auto_managed:[6,0]},"deluge.core.core":{Core:[6,2]},"deluge.core.daemon":{Daemon:[6,2]},"deluge.common":{is_ip:[8,1],get_pixmap:[8,1],get_default_download_dir:[8,1],fspeed:[8,1],fpeer:[8,1],get_revision:[8,1],is_url:[8,1],vista_check:[8,1],fetch_url:[8,1],open_file:[8,1],get_version:[8,1],fsize:[8,1],ftime:[8,1],get_default_config_dir:[8,1],open_url_in_browser:[8,1],get_path_size:[8,1],free_space:[8,1],windows_check:[8,1],fpcnt:[8,1],osx_check:[8,1],fdate:[8,1],create_magnet_uri:[8,1],is_magnet:[8,1]}},filenames:["index","modules/config","interfaces/console","interfaces/index","interfaces/web","core/index","core/rpc","interfaces/gtk","modules/common"]}) \ No newline at end of file diff --git a/docs/source/core/rpc.rst b/docs/source/core/rpc.rst index a229c1eb8..2cd95aff4 100644 --- a/docs/source/core/rpc.rst +++ b/docs/source/core/rpc.rst @@ -101,5 +101,7 @@ daemon's state that the clients need to be made aware of. Remote API ---------- -.. autoclass:: deluge._rpcapi.RpcApi +.. autoclass:: deluge.core.core.Core + :members: +.. autoclass:: deluge.core.daemon.Daemon :members: \ No newline at end of file