From 03034404011f4fad29f4928adbc97e95086ad3af Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Fri, 23 Jan 2015 23:11:52 +0100 Subject: [PATCH 01/53] put the .egg in the Git repo, like an ignorant peasant /s --- README.md | 4 ++++ egg/DefaultTrackers-0.1-py2.7.egg | Bin 0 -> 18703 bytes 2 files changed, 4 insertions(+) create mode 100644 egg/DefaultTrackers-0.1-py2.7.egg diff --git a/README.md b/README.md index 5d1d870..2dd90ad 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ supposed to reach public trackers. `python setup.py bdist_egg` +(or try to use the one from the [egg][2] directory) + * add it to Deluge from Preferences -> Plugins -> Install Plugin ## TODO: @@ -22,3 +24,5 @@ supposed to reach public trackers. * WebUI version [1]: http://deluge-torrent.org/ +[2]: egg/ + diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg new file mode 100644 index 0000000000000000000000000000000000000000..9165dd17f1b5477ad81f64b0e1cffa78753a78bf GIT binary patch literal 18703 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 k8;Y& Date: Tue, 14 Apr 2015 13:58:55 +0100 Subject: [PATCH 02/53] Fixed Label Spam - Fixed the label spam - Made new .egg --- defaulttrackers/gtkui.py | 2 +- egg/DefaultTrackers-0.1-py2.7.egg | Bin 18703 -> 18740 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index 1071cc8..ff7ab38 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -156,7 +156,7 @@ def enable(self): self.opts_dialog = OptionsDialog(self) def disable(self): - component.get("Preferences").remove_page("DefaultTrackers") + component.get("Preferences").remove_page("Default Trackers") component.get("PluginManager").deregister_hook("on_apply_prefs", self.on_apply_prefs) component.get("PluginManager").deregister_hook("on_show_prefs", self.on_show_prefs) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 9165dd17f1b5477ad81f64b0e1cffa78753a78bf..535a0f7162b48d3d6c65ed23f2848d8eec30e5e8 100644 GIT binary patch literal 18740 zcmaHyW00u5x~AK2GGv>|Lk!nIHM{rc#yU&2vA< z6?rLO5EK9a00@8%+ZfS_pmFMAU;uz1Z~y?zpRdLyrUuT|PEHO6Mph;cj&w$LHa2#) zwD#`NDmHeTtO#FQfba03e9DGs6WaASLG#22;z@T&P<4*vPQIs5qib7EI7?M zm*!~1vfDa@*~)M6QNp}Lc_MOxrkP#{rbVDoX$4$i9}@WD&=^QZuD}F%;X+pip~fv_ zK@Vh__gkvup5*pR3SA8Az#c$KWN*rWgb&bxvtZwEBM#PVKSxX$%5s3(sbV<~>%{4t zKJBt^+0*G4($we&9`aN_MUXtzvOF*9zCwtYnjep#Rh_xWpR6-_FD;wio$Hpkt*!o6 z<3z2ylYs&RLk5-M{l2lp;aYUZW+410kRWYJsa|xPb3kg_IGKaD?!15-{d*I-a zvbzjh{l6z;Idb{NXN@p0BmA=!0Oi&oV$%|&s;?;?joundWT?^lB#mo{ug8N?F%0f> zVV_G0zyvhz0&3L3iW|A@@*|wJ7a;m?KCGENnb|UCh?fh-W3$5q{zn`)bokK>^suH` zjQyc7nLgVj>CxFr6aql3@<^zF#RLS7ht8&`^2*QsWMX29g-yUvie!K+n#mc!*1&HkpnG(Y*F^K1KDxZoD{*1 zDBaFZXkJeuMy4?^G_Hr@P5aw0IezC4GmM)NU`UCxNJOCxZB#5jEjh@KkRwx}%n-(gXF$<}E<#5b@Qkb2 zC7x&P+WLEu7`p*k*j(yk_)|*q_)fS7`5aO)0-@3`4+9h!&s-2pCXA6b2L`dIoF29U>oSj)L{} zchW(}l6tG<`kyg4GLw%bV6uL*7qh>fj62qzzz6#w*fr_?b@9SD-{i&_Jy~_ z@K86F;|;&1>Hii<$2n*Y0PIKTFSjokQyl`$=<4vOB)7NESm&65BQaf7POLT_!_J!1 zw!To=4H%DpO3)35r%Cl_bAB~m`eLVF)ZCX)U3vFLuRr~35C74}u=wzyDo_A`Ls$R+ z^#8br4kkb9*sc11)e+zo9vmIiy6^E4ZE%Gd`=H~u6+T_aRTV@)UtV$Iln4@Nf}|nJ z=S^oJxrR%EbM7&GN=%oh8{O=$$G6)(77$4zy4^V{DWYV%rl?i4jY7Dt3;3PEEkj~P z^)O=e@HtQ%>{i3d;KXQks%2>9w^FfJ;wTt=xd?SreTHdd14N+czYqq^93IzYUpMx& zP07Ayx2Y2WTvL1O-E_OM2g+kboCoD+c6Mhsz%Y&Shrm;FAXe;XvJ2E7Q(wSdXyrx7 zVi$toR_Vm{I1$P`V0`sBe+?q?Rq3S-^KXg+4zrGs_m6ZVR8)D1NI(Rz!hS>&bsbz_ z{CRV=!cW3qpALR~+M4qfdQlxd03 z-=bc!48n}DZ%Q9M$UiG}Y9qOCJ$5~|{W%bDB%&`knerWiTtZ}!$5M!~>-oeQalE{x zu1+BsEV)r3ltH)!u*TI!6BJ|R&JGyHA5*Z*Dp`r!YM>ATuML1IXh2_?ScjF=iSIuSHQNl@A2`-`o0gzFcm*cuxD4yj2HA ze2fSNU83GMuj4zLA)RU>oAwfU`ts45wZDnsd@o4m?fgM5HYth%9|K#bwH__I>Cv|m{7Fav#wLZ85d(I zDf3+3>rd$Flq1a7q7m7j+8pAO>2JtL-kQ7|AvS zqCV-WG?O&p1_+r`#uP6DciQT2MP%8|_2N^@}8r z*0k2k|f)a^ITeD?v2g8Hfiq%3EjJ9 z7bMR<1{-WzjJqxw184wv6u*VnN$N8dY`Yes3*W1;hkeFnVBqKZ!;*DOU+S#e7)uxe zv|vZf&FN(Wr)7F$T&PG3OLUHqW)%X~?!0DiL3`0U`bs051H-ax6YD-d%OeV7la)h> zPF?lZ=uUvWO`3B#x7|lh#R^}^7rcF+1uG`3%DR#zJ3Y=W&lfNXO4Lz*cOGGkX>2J5 zPu`6*?a4%sqXWg3XIzmjgP8bpOqZq{-CNTJlO}3aui%{B)81IJl?r0s1`FqcHnmTN za=lUJ5vD}&BuIBQqW?}LDzd-uC`!r6j^Yu@^}0$O409b^bMy^qnOpY_=jWQvPMieK z{eb_M!2jbU>+oj|(?9?Kbf5qLF#czOH>y^hw%rs($RVLPA5|?Hior&e$(I6nBol>3 z5rqb^NgShl&#hP1arP$z&zkAjf2&*n$vw|Y&3 zw0)yIS8$5=@yH1jdXAP*nyB0pW@eDYeaBS(%8KO9kX>ZSk}JDNt`H$ywuF~8!K|d} z;}gE!_l-R8MJ2(%6p)vP8ir1j=Px0f=P!a_ArEAM%*}{~nB=ZWS%PZ+_KQ)Uza(s{ zUru8D*%&$io!;n}dO`cIhQYzB{4xip??htRjjATyTFFw|XU-EoAY(`O40WD6?Yw?0jlwc!(#j zSf!o5w=YMHLN~#UzH?@PZ%GyR_T1UTg^2*cS3Qvlp{$BduBEA* zzmUF(Q~2T#G6LGjunu|&Ea-#+?%Edo_v50bk}oV=XDJAr#nD0s2tv93U^&Nbzy5BM z4TOu6EY-;CfNNqri(njhLYAn<*u-K~z;AS7dDd{3qw3+{8iQ}N*rQq}Appx{$U{fX z(!sbp0l&_MHm8~E6}>)OoMD7@sQCFuwaj@!U*t^75PbyPIW7Yo4!HR}= zhU;pe5W=A*Wu+Ui$XGce zQDY4DH^#6!p3yjL3UYum8Ve?9mf5TFAZ6_vIU9((|2Ps!eyBPV?YVscH%RM(%t{SI zO{Sx^WbfRa9LHwMP)r-0bv;dncx3@KFO#*xs)jhLmI#_6dYc>nINQN{vF8V*JQ`Gl zt<}tHc%hh?^HgvF-yv^*YMesZrBrhBvex=ab?q-Q+{|G+f#3B-cJgcylg5qp{ae>)wo#6&e{I@budZtUu`#%2{=D zx5g8^(ynY$Vvg9^nS0mj!$_h&+Tl{Z)bu)`AUc6r&|rwS#GlINs!rJoh0D{HnX)|k z_DjohOV!M1hf)O;U{zF~z@Q4yVUrH7quB&%-`u^E@Ijrt_Kk)v%J!}0r?-g>noIlk zZ5=(4!G$yY#4`?BCR2xuL1(RHT<;Ll{e#t^@2oIqCAj@O?gfLFJ7^?F@NrUAT_FS; ztdg>1tdZV-so5=1jOZ@d(0kaAl1Y*LXEif(vU0ZgiC333e&SVjq_3_o)S!ob;=Vf) zEu3rCO`MDp2{!%=u=+(^0}vpZXd7E&1$+{&k%I3}Q}OfZ6h*tvtNnli*75XEra^Zi z?>R30hf4P?j1 zx{n+Zxj@G!TvF#aHX|i;OIv(Ibl%xRuHf1M$N);4vnl~dPinLrLxq^$B~Gm;*rf%C zpGt>Y#Izt`3W0vnqH0ZuPq8w`lOd9)&;ZC(q-2a^!XoTnP4jp{Lz3e*ZhB!AUe$^~ zgogkgW)w3QqmSH&d?o~8a1g|OD-tr#21)yv;KvEpqmoA(Jq=tb0v3ql&aR0bM~o+> zc?Io_hs+bCW~sK8DR(W<82&+lXpf_)XyB(;wv{o>1)5};x_9&I5})MNjrR5QYJGNXy%9qvXTb)jn88p3<2zU;(BQS04F{R4G{xmOP-gR*qU7nsC9u^KBqKl0JyYO)~ zX2e549x4!1vvZ=FaR$rh!QG+=TAoOB*F_}+N6j0sWELV)i%0lSHT|xVW=uMruNUTD zktim_IaxntE>CbAPF=wje&r1|X6|S)uTP__VHM(HG)TIL8mF-Caq=^Vj`<2%2TUGo z;*igv_X+eZRz8hEOe7_qQ%V%{BltBQ;?gwFfz05xK?j1mF|Z`v_*(%^4wE=urB<8N zD$S2_V5U7H@RvF>6huINp{Ogrh!F!DCh9s-xJ5Avw3u-HNF5zI_#cHhfqVlYfNX*} zqy!kIByHB9a(>u%v{I2xLoy}HAc$(HjxaaZoDqdnkS1z=2H?DC8PQ7v=0YNQ70R9w zhnQsJoeNASbPV+d!6=WdMTK>Rz>yUEE8bFVA%PE8&n}ik^~$`p(ccC=awdXfr>95y zspjG5b`r*t7WHC5`vfN&3q|Ef$yF|YP#WZi7jPN?el4cet_lITXkzGxS*^aHCZU5s z>IovebnAjJHQ|-vtJK|}Zu)&78GaX;6~q)O}exL_Q^Hgb@olm&wfLWrn=;D&Xu-q*tEQw%xXA;i@j*`0vu z__|TQE?6ojaR`X%i5XVLFtG7qOzP5S6yrYRw|O)8-PQSY9(wust4rsGizX97h~^kF z7C6U@F-ao8V)DJPsIa$38VFEKyge8?_%CY{4)83D#_ISiB(VU{ z{%WEhb9q~oX$F>p3QoIt1&h--dAn4A!&UYXi6IH#c>Pa6>YRI!M8JV8&j*$eoIw_OTSX77yVHWCwa7_lC1GzZ#Dq(9f zs)%k&-l^{L%zEi&wd+acJBLOP+-0;pv_kQGQqb1fP}-b6-toq&RlRp!Xo@XUVf`eF8Jd=!OSd#>TkFLW0HR7(S3f3{T{)5}KlvlK;F#6k-p~Ksk zsRLq1TU#%RE+7&foz1BCG@}l(r}rMK+P>O3AV}`)Yu@R!I}__t(bVwkif1}?BfWZf zn>O&=icN6xoHi(+SX+Qi{NjyPI>$xmvg)cq%puzexT%U&v-JMG@e>x4`N)yGmyQ0= zJ*&R{M@{mm?&Rf)0?WNB@E)FMM+SH9K^7IB!L@XaGgj3T-76^(Ah%QEa$(I< z(>Mt|Zo&wWeR|z&gm&o+FK9w^)>>k&+DkcBw1q^_>4nU9KC(nKVFj11T7jt)fk}5H z=6w|rN5}eN2EVQKfAh=fs-&q(6j}CNI-)|E36pzjLBV&noAG5-sFJST1-f*(2b(p# zb9n5dtX5rwEanlGT`i@#>Vy(ixLk(9O_IyhhArnilPX6tmczWxCHx9CfYDwi%x1O6 zDK>!)N`Y2*@Y#oOy+H@REL4uwp6_g5C;UV3DQmciy_rofxF7LhDpQ*R1t()+U&BubBz;U{t1}=}j5`=rrw9xGUH{}|- zs+LwzNi>6zP?J@rjs@0sWGA(y_-VK;=nly!)wgczU5Kh)v?8nEuAjn1aECmlTCLjN zmFa4-Wd+@8TD~ar6a7x_1k}Tk)Js` z6+T!QfjnNoUE)7^IJsSaWSV?cX8*QJv!&a>KHwm;47lWt@Lq*@tvq-X6Vtr#zFMcU zspg{81-&q@Uah$<4e2E&-Xhx1-Gi(9HJ8K3QNjlKv8sAgMVgaXvjOL*$W$zSIVd~` zL$m$-9g9f+iHOu9&*F%15;5v-5f8|9kL?b*u1RP+s+X~i{n?%a`)#LN$Cqk~ss5Q! z)8feUJ%dKeM2G75Mw5zLor%?%J5`bUCHcB}9SXNh?<{ERUab4D^zo)jxx_3vnK<~p zLk+oeCtM%6JeU@C>ydYYsIo)?!v=l zr4cMFo&@d#7~6F#irVW(Suutzr+ha=W!I%BatCwbwavrSnL?RQY+cF1T&sDRd9E+Nw;+Y@j05Gi#IR#W=0A0W)?0U_V}@Zbb(f5gSc+Eig*!I_p*biAabcX z?4h!)w3)G16ZzP2#!0%Oqpc>qgwT0t=&j9C9Z^Q%l4;moer-jVfzX*~=&h)}fV8P3 zC>u%S@el=ZegK^@Qw1?1Jcr^x*(xUJ)#M`!0!vV7m{`J=!^bmgr)woMXE^XZm%E%I zlBy9MA&WA>uJo+^?b6~%hUGN)GVMaSe8_2p&{C+&M)UUgE@A%0QhquyC1<>WP5f)U z{!Bn-&@IuxSRdXTRvAinFrNm_I%jEENDPNP>M({T;RG|S876rt;v5~G>L8D>MTJUC zJ8u*%RvA$v+3GZBwD5wmx=!#$V;D(jXC$t4^&s8Y$Rp;{r6oCEgD#~lY=C(%VdJwW zDzM8WZ9Hg4z#IHiyh5SP`^&2peGDR&p8WaZd4V3<^Y`(+3?Uxc&0!~+9F)i#5-N5e zJ=C=w2(y22H+|2>4s4BHCtc_EyZ@Fod;zu8M)t4tqUX-_8GP;Y8zb!;zu7_WT=0zJ z{VIw|gP&bxv6)tPM02@!$u&!$H9B!HeNf){8umru$|AgkuK$6h5l z|0EJ?F@^4YO05UOsNg=Bs;e2z$ZwmCZ|xJZ`Mv3pm)ab*X`a}axV|gJ20_-O=`5Q` zJ{yWIC+;TnciJm&iVbj$tcZ{TgX0I93@NfLklmP@vv)c-JYkx;wzy+m{V|J}& z6l~2oOiX)4#6@1kIe5}veOfU4VHY9eL&MH-Kc(fTAbxPhKsu3m8yM$A>(SzVZSHJE zIU5)*nu8mj6}$5_AIm2GQy*guFNVmS6SvZ-DT{=Y2gFm;87FNk7B}$vMxNouV%sG+ zW0&yUAzmKoPZxw2>_F;5PY0$ZCIOdr?d=<}_d?j3BrK18dc z6V?rBu{HQ%!EK3SGU?)2G}9%@iT9Tc=^q*vlGX0Vg@vc(<`Jm(iSWCfM-0vl8ppD0 z(VOwRxW?VGbTKAk?Z_EK-9RvZq;N5hC#Cua8bY3!Jq`GK=OpAjz*OU2g-_W{z_09{ zkp5o(b$S2Oejq&^)e%i~(qMr$^{@d2e6+Pty@QLx&JnG{2gBV~FZzWK_lM}^rfd}s zrUZi%b7C z#td$Td+=L^Liyw3H6Lp*V|x;ayNiaGKq_=FCyTNr)>yQ;G>bLp;&;*n7V!ZJYPrwF zpz+X7Vi@OMtpeJ%dj!fjFvm&} zNbLH){&m1}gO(8$*H}3o{wT)yr2Fa{_ZOU-{n@OP&^lDwIS0`_sv?(3Wf!ZY!cc!k zy~jQ*zNL*p+a!QC@iBzZ5>}XJNw}J*izA>+385LVAO;?}IRP1!-h;Y8vny8}vhA#U z3RHU&KH3-9Ew8{eFjB3ZJ;ZCr3QY6nk*WU~`!XPeqg9{B1OazJ0|(P_z{DQFdW~dQ zg`p8lK)hCoTB7)wm@oaXBe|KYRc%%E<0x5+%2n+n`B_c%CWZWABc1w8-LL9oLz$Y~nltOIeuh_u^LWB5))$jmK? zLeXUuT_$_GTCVQg)U*#6c73z9x2B-l2Udg&Or)}lZyFgekTpC?s&bW7PBoSzKbRC$ zW3enhm`o-UTjrP6s_-`Rd52{7OwvdYKd&-Vu1VoB*h$^UgJ$RX^7Ouoto3Z9KGLe3 z{@lS?k~|d+Pd9!;WF0#0ZNihhS2uouMH{7L*I75KC(ias!xO8xMD1zm@s|X9&Lu_m z!~GCi@|HeXBUB*i&&9M$vx{j8)iQg9`-w_440$YOc}HFaQv0SSxfs=K<%Ga@5Mbbr zF1O+l4MesIE!DevmloV)6|<6W;WNZf!bBcJjLLilpV=-6 zx+vp*m+_{zgqKxJ;tRSC&5g@3os9gZ@qeFcTDUY`;*x~?$VKDf8d3(awp=ePTD+h1 zC|_tC0O>*_THE*JFS{p)W7}UK(J%4vH}+gG?s#bghGn}nUB(UK;I_^mUAk0ky*Gz| zPmg2?HD>o<0PcW*w`GdF_>w&RC=0Q_33iv4Wr6bUXA z!i6OGlb^@bGJ{0Oj#>}@Lfo)>XUrIlw{;_q&$=a%yety}=i&6Z&vZyH3^bck{GHaw z0+m+!1f?vk4uO3hR{Y{uk!Cr7cN=&Q2N#%NAO5!O%|<2c3-fTrK2*o%e{Rm4&36=T|1IS0-Ba>uUy z8v`K+zyHawe@44P2eEk13uL`gf}MJ;!qj9ZW-i>5O%Li+xWzkB+9Qw@=;FruMI@4` z2!Z^SO93Z8-HB|ryB9@Vt;zaXBtF~$$7^X}0|jPcQ8~GA!#(D0Pvg#C(6F=OivG2b zJO_ZFKt**{X+v@Gkg|eIWhsQ}g*uOR3Db09RQ(q$)!KR_dL(|yLV(psfs}y;c&s9| zDESyL{YGlRHKlIph!Dy??2T|kHa-oli4$_haCy{g)N8)*V(W$iCA6ex{Tw*6$G2?n z6@1y|O*`KxjK5K;g;jq}Go9uKn=2j%tnPSu_PS<0kB4lj%OsxOz)oe7?Wz4izsQE0 ztc#5S67#SRF&WGOO~xaZER60ngHfF1WGLGjA96<{`iGFgm{QX@w1{dZ_C22n#R(@; z#?`ZpZpm9q{D&l6PD+)KLh>v*45mu3w_>oPqKHWwAzX~7%xBSRlqx%!igE}Q6yG%o zjLQV5880qbdBijxMvqJXYM3#+FR}$34?%Hy;^yYzL8&%3l8_k3xw^RISXo5RJP4UH zDp=|6X>8eMZriuJ_1^%MMwDhc?1)U_O~y=KriL?<*l6Q+8m9`6<8~&hjov7?earN? z3q64`hvdLTa%eKz7mg~FniXT#u|zn^gXM!P_}%5CubNEQXP=p2z?-S5G0}GvW2K`V z%XUv?g>Fue*k@>3UKSsO(#6uysN!!uXer&g98#^BUWH?yi$*1&)N~=r5NOO^PGi+w z(nO(rMoY=!SM9or1Z(hJ`t10`Qy{$~@a<87Cm)KaTlaN#@sSS$F03)6Z%ZmVy!$x|j5e`{-Jyw4lKlssuT|G9?K6M+){@nm$n`)l+z0#Jf54 z5u>&8n0Ql%z1w8t+HJo0h@HRbenagiyTKe}A`VPae5F9iJ1*K1ZKt#Ic3D=PFV0!m`-74U#wbG16rTc{c;n{ts8Y>^ zAAK2=2_5Up&JN>9mV4PY%KzRTbuDpxQ-*0H*SD6f7q4ke=ANRAcOhFToNP?-XG8zS zd-PX&Pu5~KNGHD?-11XL0t#yEN1p!*;r#1;*5>q zUm4RscnaduCWimJ-XHv5^xhAj68aPg+m^AdzqZjKl*DWc%O1X; z3ffPP(d3k{CSSy_=<@f*wTOIld_@G0_?P?h)~4g1&c#I6x>1|y!is!fGTn-bd2TxD zzqIeS2JD=H#luk&>I@1D{Z6n(hicZX_B(Zg<>U%Scz{O%m^u6;=UGy9>Z$=6LBd4d zifgR7Uz5wXu5G3p_jpKO%8c&(kcSSdU)d)lhXsyzc8j|^ix)&gjLU7IpczGe3=at| z16EIX`&3jM?p@TD*(ll&7^PLpvEx)Jg#=R!%TR{#Ox=f2Bgu)g8gYe4ofTdpln_8{ zaTdb#l#QMx3{acT6(I>Mc??G*mOa(wrdvS8caaP76-j2%T4g2?Sl0f^nmSnW>Bu-k zt(h!dLg5*ZX{%ZSGHG`p#r=Tvz{y&S!FK+wxozwz1aRQ=3LrDoYWGa|WT>!QOCiSW z&^|c`6lJ)Lb7h)=6D?FEdw=Z zz-H2t_H8@fd^&Xnyd2?O?+g)ltFHMH8)$yuJvc3LS+D;M?-f`G{R8h+4j;KPhSQZa zo}KRm^QG6=)}%l<9-~m1c^YfYYz#m>;6#Q?yg1%k)^9 z2b4BJdNu5Mbr!ai=7p&ETKHj7WZXn)Nd+mcoN1HlXU;jnFnlngLvF;(2Im1*Cfg?e zq4$a@?0zAPVx&PK%ck!c1*mjhCrHC3Dv=9-u*NA-07;4nACEjtQRbE52FOIzh$k<= zk;`X8C|e|3skW&6&S*uQIC4PS1KG7K$s`Z+X|OaBu&H;iPE|$}y(}~eyssO1UZH6s zE;vEJsAmE_3JnUQ>ck*i%^YdBCSyGW@+{dMo{;I|sE|Vz#lxeSXp*_ByP`ZWtI8be z%kblZu(##MiLv@YQXEjZpHFDkOCw@3h4hIzqIt4GL#O?T&^5VQ%ixmXKr0;CspRC$hr*HYm1WtaeLM~n z2A$@dQ|3MrYx9;RXOrNxB6{wRY?pSlNxfR9aA2IHHelyR zPfnD{C0`bXvF5L%d=#EpvBxF1tlwlQ5T`J}dvl(0IL>?>HhaRtk5L)!p+B523!Yhv zFWS(4FhJL0)_M4cmTy-xkxah?n_n98#&B>0O7W9MESxFdVmEmI(usd6E0{0!I;%ez z;O&oA{3p!!zjVT=T4~yHiyi@Y-0DWo^=v_Fw~xmdz8D0mIO(r4M7}v>v1$K{*$R8| zHsKwQo-@pO5EUOUqHy>C}Bzj22zcgNNz6i5K%G z!J9tWl}`^4TtCl-)D(O5duqoJMx+5GNu}tq1+f@Nfy7b5dEpJ^HNW9a9P?TD$m$9EzRL)D0lKpeDyt`=!d)9D~|$^U$tinot&jB-b0iZ+nRf26A*08 z)#S4R3V{YA?w_CT8SeK;%{u%{`6YXzMb;DRdQSaZu0)MF?8KpMBll2z#MT zyk`SiKESDmGw|9;cX|Q;bsGNh8Vf`|*GE4m!3Pom0Q)~MFM4_wwiZr$dOsJ%)he5| zo9qbQw*Fs(0N%d=)U4RZTT(9xWwA=Z92mUT@#Vm1qN#1k74Rvz-rlqG$=AniH5ml))#9K8*Ok{*|I95$;{*XG(aq$Jr2JSOV{VFN&3zjdIA5gY8 z{EV_9leLPs_%+P=&6Jk~No7Q?(i{)UJ|#thBWNA>MN(JO`@O0VSZhxcmFSCpn@W2C zPQ6FG%i1f;)*e^EbFiD=>s!FL`@{Z$xzY<^o7oe7jNR@vzu4U>{YjAJo~1-KQ>0** z5U#;HR3i)pPBS!Qj#?5;t6s8Kynj&+`kiEynVc&QDG-OI7zm+SYD)$qYVfM778i*H zL%P68w2FEp&54iMYXRIYYpnSotU_$wXChwC(hiz^??*sumtr3dij}XgS&fRiFFB&F zei>LNf1fn%1?lyX<~{`s4~Ag{gf4r20G?Mw1J+_r9lg(<)hI@+$g`ifk_@QhFo$Rq zRsdGxioO9Q&H3r+4_PM!!LmqlHVzSsa@_`C6*OU}SS!y}b2m{EQ`5>UY|-fNf=tiLx}mpX?Z3UHO1;1daBycl=AF&9`BxXFKz zMg@Q$q)}2VDtTq(hGTK%_tGPT{;fMZju#d#e2BODj94}Av4WpC(mD=5F0#H<6bVKD zD8{5|j>w44iLqw9KaDl{5ByC`Bz56^%#2VOijas;R=yPCAFw>mUp$XZbWcjv_0Te8 z$lD8LFIf{!?~D@C(@1&2Ut8}}osxtoa9wB>=)`_uHHjP@etHoW&xJhKBQe${GD&c- zvE*gESYNKZ)+k1!W&u1S;B!9r_HtS$jupPmXg2h$z8T)n0@#YT*Cv1w8Yw%2UoC0- z;VpF+UUE@FBucbXU)Y(ab=lZHXFzrj33>rRF*-26T>L=h^i;R?tWto>{-J!<+_9TZ@F!}~T2>aVIkJi5!u zGE@)G3~xMl6z43s^-E`+j?kk&G{H7oLL^!yxS!EQzvw@6H?HkJTQ*$UcB~#w?TW7a z&ZsuN{!JbJ@fC%-UvN7=zCs8L008IzuMS4j%6d|R^a#C8TG>jagfEzs=Y8M2VPjAD zJz>UW>|ps;4GOE%^(A5SxyR^_OfP_cX*JkTcX13YV*Vs_zJFe?j(BTP_R!ksh0^fidu>3SPbe=J=6Q^dFI>wKI_JPO1{rurDt{n+xyy zp&DeJa-+(=TlUGA`?rV$T?Wy+%eWOBq=e&uKLykrH0=wSCIB-}Ge?*dQWOfO;uY?= z%q54u!!Fyh6R6XKDa9PGNH((uoA(JI(B@HlTYZ*LDrL^dmr6H8e3p(K$|J;~^ z$W(r#0sY=BLRlh;#jH8$aP+>*HJ&!htEy?TzL3Sb6UoBlV1H%zZ~e@N@rscq;9_JN zcJY;uTKpb}OnhTn3?;wvT0Bu@`Of79TT;#y3-)@wSM!$iEttL2I~PidDS6X=6IQNO zFhZp)ns_=8pFkNXPkTMOEY-{)L2jxnop-BdB)3J&fjc#{#4iM zylrHB0IiO(+4zh1>ocnj1WFbHQo1^c4QX@qIp@MLYv`|SDihk2fCZ%+o-GsaD&r} z(YvXFP(^yIS|B3gK#n?kw3g8Y;vZVM@=w0JjSHrWC1SnBXtc}U8_pczw zinBOCEbcO6-xf^*kAc6T9<|hYk@b-9py*nIaa zy!DftlLAb*SdRO^b4a6@KQ0MJe{goJRvmK0&srq&rA{=SY5w5AEHbaQ~9LN;jHaZajU;(s$3^S z%ot88oWnwX3(=&i-=2b*#pRjq;m8JTf{EJf)|`cRhhzjIr*p|GO()eonQk<(qAtVi zmEU3aP1%ZlkSab+JX0kjf>k{|5z;u;U98K9CqDkLJIc{_$Yoay_?;gkMkH-aa{tXQ zhAt1jI41ec9%YFCB##J)D2sj(fp%U$lJelJo_&M2b8Ymf^iLJ6oPVCa;Z>0TIZ=OM zmxIDi6}q})oyrkVvbzCjtK&G16Sv-s)oLXzDPBZlk159JYwlrjz$D(<54I}#&b_9c zf>wlD41XO}u!T~iVuCm#n!LSQEQ!CwoN5xWaJ~TUDyn0fT!U)*(~}me*R$Hy1z|v$ z7S6$(S~6%cd=|)6$ex>An{4*epM$5H${ntLo7iPi!e7nlZEvQ0qWY+5gJxje^m@l< z`H;0sec=mb^)~O|jiESwl+mrj{Ccc0;4@zrK=5^)JlpMKN}8@=bDT=|)-^e7iE^A_ z5NHG8-2@cr+&?vaYiMoT!yzX9uHLA?X>)2!BQ~9+c>q&sK?r}Wu0D?Rc`17m!?tBX z&O%R>Jp+HC1-3H>HBjOFAurTD>TCL7(v^87Te3N=CDT3gwTt@i>i&-vJG8tJ{bR+! zKM(%M{wFK`Z?6DpEggfE`~QgpyRmQiU_2V2Rl>0^NzQ0hWiD6vGcZ!32*on6)~(GI z@hLh5<9&DY$u(*+ZM+#nndEM!yY`1S_wkQJldiEGsMSfbnWFd#>+jgOZ~#6VXn<0I zl0D5tVs4|a(rqmLtT@p({0g%=<#U@KpJYgO>e<0bpXlK1KaCn z!kmu~f`Cizp%2;@+sV)Ugy$uH*mEvsF6a((xLjP-TS!zaQUitR;yrshcFM@U(?edv z*0jM6k$V=VSt1+vK51lTN5M*Let~DOrzK?0K@|{TllWTr)Y{N$VUQ=|vRNSSfM+cT^C-H|P@+aZAc*x1O*+eUB z>gEk*ON#Cra)vDQyr#%KeGrb3vz78~ppRWQqBJU8G4FdlzF_j<=WKeH= z(q>lg12LQI+V2Da?Vem|+Fh9%S~A3{g+FB;HGW6!5O{*Ivzcn9n+p4aR28_ZfWp02oP^<=}e?1$m ztE~9z8hw^-=f}`H6bsM|tedX!&S_kXMM!4`+O~vzRB-~;<0a_b)(y);gcEUHk7DY} zYAzBtW(dNm;Qskl>&=#dddb@OC=cz~z=S&zn++o!O@v<>3+2boz%0?k_tI z9g#zWaA@{GE`+)mKbMF48R}wZ?%3ZvnO6-HelDu#>L!r>K# z0UpteqfKbL_C|ECdG5ViHtF6@_9lC$P?RBdZIN3d`u#t6W|Y@W?I8tykC59e!T%_IQrm^zFq-g(h5CFoqLREJ`0f%?ZI<)ZiefOO)XQfbwf~ zJ!-s}dneF>erf~}C#WjU60;!=wXW%Sy|_Ta?$8}Gwu4^;sR}u4cM?L9m$b_#61*NR z>b!+?;pynYkR~{Y2jAgs^Lc8_Qye)0 zg@G)j#I{mpXY43k=+EoTu?L8=n(Q}iYsyWSe_WREL)Qh8=qjF&IJcnvT?e9ln^R*Utbi8WTz25yY9pen}BprBmSNY*^KR-*hH z63wxuVbo$)m1zr@1c;Z@QszdxU@*z>f(xatxhntvTpsr@~%3-$JpI#_xt!td4=)jU0fm3M8 zgwSJUvSo*D4JZ4%DY zc)-oWau*MX;D3>m%^9yI-L$XHY~|rWpcv_V_hCi|9V}w!4(?J)Ks4!83^sE5GQ38t z+@>z{PU^{ibgD4a=Dbh(t3so|F%pke(US>rwfO^A@i9^J!=^xcUSUvN7r_h*)`V`B<=AB=Yo;PSTuG@t)R;XSW9CjT zPK%?MkSAQJP)V-?A}0Zp*#;dP2Fyf*xOOH-Oh!&d24rsf_^R}InhPBbc-qjc+~Y1j zY_h36T9l04U6Au}3$WLc{0)ljF^PI)uhNz2_WdhsG-#`1F#57*)>^yUuGoM^ z<%rb#Vva1CErg5>DG!4oT*h+Q1Q$G()BVvBU|rb58~C=ui(9E$eZEF5?;x1r`zgQo zs`###$c6Uh+FoNJQ4XEUp{HuaSZ3(ku@cH`eJ!mW^2KloeNVrmeMst)0%l$5XrIzB zk7eZ#*fK?{wVmKp&Yj$m-_xLx`1pJ+0}?@9yPb7O!nZjUxt)87!B_avEGLvmN*%)0 z3&0!vnDk(qB(~?;<9htgdbJC+4!_)uu&GAa$K+QZ`te@7mq{aME!AOHZwf1ixJ)c;wNcY=)FCOu5Z4cG^s+l5Qrq9I$ZDs>-J)g%=2=1i1` zn4pP5T$%CfbK!%59oH1uc_3Zxb8>G&o)9u{O>N1$vxxNfA8r^2lXD06I zve#LUcUk2sV@#UtFK#Sgh#eC^+&=9N{um{XoG5*nofe9FfmA{NAF&XI_rt!hCAF5U+J5$7EY$QV(iF4(D4BTfeL7LzjiQuo>6e*u7C?&0`B? z9iGk{LDiU9y4g^8=jM_vGV~+srkcGsZ^JYSMm;C}9^}eK29lriKI+OHkI{z)FQh^W^&+}6T zM0MV;S1|h_ui_~f+10EaMqx?d#{)U~Hhxa!OTzPkKD5T-E!s?}=3{#@`G%P~+TFHo z05V$ryFAqdF6li-d@-r;8FkTb;S*Ge)rqdMV&~mU{E@2J%5_7$v~j> z;okR7l^pqoYDp~DeU~~L2QBlpUa@Ddc+A8_w}0-RlcH4czExgKJ0m22C)cVxMHj|n zDIUG2`+w(dv(D+N3>15QxhR&a?t{&x2aP5HwjSMAj@_5)IIOVO`H}skxzok+66}5Y zd-m&07vhXO^}YRa*zR@3Q}h^v$`9xEuPkWyw#qpA%G8}#Dsj!F31X8M?>M%lc;3Z8 zndS3PGf8IRzIq{`PXvHi4B1B|`33Pgsb#4-AU}CSGJ+;FBRoUTYHL~-i2(N{G5`}d zYU-}aEYK}ZOiO+I6r_cbNdz2h*pKr7>IH*sjUWoGS&ul}1KAi*oS>f^05ODtVO!%J zVA+Awm}F#gK%EWr-SY@@6o7l`G0g$*rAIadcE$Ay$5vKG4Pgp?r5X=-5$AH2GecBdb%zj{>4BZ&m2C z&}Rb>#(dSqGzMvI0Np+41BVEMgpKeTgyAIgp(cb$+9sGLVGKMWI}BT&7h&8-a~#H@ z#R0GfjBY4;;~QbyNK^oki_-bZ_+QW0Ax{x_0z}9ihF+3CR^m#XPzR=mjalgb-&W6Htm(bTiP4QG^+@kj;P< YssY}tz+rC&24Nr!1eQ@}fr=Oy04quVQvd(} literal 18703 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 k8;Y& Date: Thu, 16 Apr 2015 21:17:11 +0200 Subject: [PATCH 03/53] recreate the egg --- egg/DefaultTrackers-0.1-py2.7.egg | Bin 18740 -> 18694 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 535a0f7162b48d3d6c65ed23f2848d8eec30e5e8..b71dbcc774fbae9c0c599a5defa65222467d3efe 100644 GIT binary patch delta 14877 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 F{{@fnD9Qi; From dcea11ce53fa4ec37570cafede68b1214230396f Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Wed, 27 May 2015 00:48:59 +0200 Subject: [PATCH 04/53] add example tracker --- defaulttrackers/data/options.glade | 2 ++ egg/DefaultTrackers-0.1-py2.7.egg | Bin 18694 -> 18875 bytes 2 files changed, 2 insertions(+) diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index 56b82e2..f68f53b 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -81,6 +81,8 @@ udp://tracker.ccc.de:80 http://tracker.coppersurfer.tk:6969 +udp://open.demonii.com:1337 + True True diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index b71dbcc774fbae9c0c599a5defa65222467d3efe..1e4a017e154a2095f81e52c49193dfaf240043ca 100644 GIT binary patch delta 5298 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 K0Fa~l$NDdeq+5Rg From 43f372323038b0e9ef2feccb4bc752568a4dd8d1 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 8 Nov 2015 14:41:10 +0100 Subject: [PATCH 05/53] clarify python version matching --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2dd90ad..d532d06 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ supposed to reach public trackers. `python setup.py bdist_egg` -(or try to use the one from the [egg][2] directory) +(or try to use the one from the [egg][2] directory - be careful to install the py2.7 version of Deluge, http://download.deluge-torrent.org/windows/py2.7/ if you're using Windows) * add it to Deluge from Preferences -> Plugins -> Install Plugin From a00430d7537e71e434e025c93bd4a6188b16c890 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 15 Nov 2015 19:52:33 +0100 Subject: [PATCH 06/53] add multiple trackers at the same time --- defaulttrackers/__init__.py | 2 +- defaulttrackers/common.py | 2 +- defaulttrackers/core.py | 2 +- defaulttrackers/data/defaulttrackers.js | 2 +- defaulttrackers/data/options.glade | 10 +++----- defaulttrackers/gtkui.py | 31 +++++++++++++++--------- defaulttrackers/webui.py | 2 +- egg/DefaultTrackers-0.1-py2.7.egg | Bin 18875 -> 19166 bytes setup.py | 2 +- 9 files changed, 29 insertions(+), 24 deletions(-) diff --git a/defaulttrackers/__init__.py b/defaulttrackers/__init__.py index d8fde3c..5b091b0 100644 --- a/defaulttrackers/__init__.py +++ b/defaulttrackers/__init__.py @@ -1,7 +1,7 @@ # # __init__.py # -# Copyright (C) 2013 Stefan Talpalaru +# Copyright (C) 2013-2015 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/common.py b/defaulttrackers/common.py index 1f4c0ab..e4defb6 100644 --- a/defaulttrackers/common.py +++ b/defaulttrackers/common.py @@ -1,7 +1,7 @@ # # common.py # -# Copyright (C) 2013 Stefan Talpalaru +# Copyright (C) 2013-2015 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 4cb5ad3..bbfee04 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -1,7 +1,7 @@ # # core.py # -# Copyright (C) 2013 Stefan Talpalaru +# Copyright (C) 2013-2015 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/data/defaulttrackers.js b/defaulttrackers/data/defaulttrackers.js index 449f41a..6f39827 100644 --- a/defaulttrackers/data/defaulttrackers.js +++ b/defaulttrackers/data/defaulttrackers.js @@ -3,7 +3,7 @@ Script: defaulttrackers.js The client-side javascript code for the DefaultTrackers plugin. Copyright: - (C) Stefan Talpalaru 2013 + (C) Stefan Talpalaru 2013-2015 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index f68f53b..2a37a8a 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -27,14 +27,10 @@ True False - + + 134 True True - - False - False - True - True @@ -43,7 +39,7 @@ True False - <b>Tracker</b> + <b>Trackers</b> (one per line) True diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index ff7ab38..c5c1fa3 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -1,7 +1,7 @@ # # gtkui.py # -# Copyright (C) 2013 Stefan Talpalaru +# Copyright (C) 2013-2015 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -44,9 +44,9 @@ from deluge.ui.client import client from deluge.plugins.pluginbase import GtkPluginBase import deluge.component as component -import deluge.common +#import deluge.common from deluge.ui.gtkui import dialogs -from pprint import pprint +#from pprint import pprint from common import get_resource @@ -95,30 +95,39 @@ def show(self, options=None, item_id=None, item_index=None): def load_options(self, options): if options: - self.glade.get_widget("tracker_entry").set_text(options.get("url", "")) + self.glade.get_widget("tracker_entry").get_buffer().set_text(options.get("url", "")) + + def in_store(self, item): + for row in self.gtkui.store: + if row[0] == item: + return True + return False def on_add(self, widget): try: options = self.generate_opts() - self.gtkui.store.append([options["url"]]) - self.gtkui.trackers.append({"url": options["url"]}) + for url in options["urls"]: + if not self.in_store(url): + self.gtkui.store.append([url]) + self.gtkui.trackers.append({"url": url}) except Exception, err: dialogs.ErrorDialog("Error", str(err), self.dialog).run() def generate_opts(self): # generate options dict based on gtk objects + buffer = self.glade.get_widget("tracker_entry").get_buffer() options = { - "url": self.glade.get_widget("tracker_entry").get_text(), + "urls": buffer.get_text(*buffer.get_bounds()).split(), } - if len(options["url"]) == 0: - raise Exception("empty URL") + if len(options["urls"]) == 0: + raise Exception("no URLs") return options def on_apply(self, widget): try: options = self.generate_opts() - self.gtkui.store[self.item_id][0] = options["url"] - self.gtkui.trackers[self.item_index]["url"] = options["url"] + self.gtkui.store[self.item_id][0] = options["urls"][0] + self.gtkui.trackers[self.item_index]["url"] = options["urls"][0] except Exception, err: dialogs.ErrorDialog("Error", str(err), self.dialog).run() diff --git a/defaulttrackers/webui.py b/defaulttrackers/webui.py index 224ca37..8a32ebe 100644 --- a/defaulttrackers/webui.py +++ b/defaulttrackers/webui.py @@ -1,7 +1,7 @@ # # webui.py # -# Copyright (C) 2013 Stefan Talpalaru +# Copyright (C) 2013-2015 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 1e4a017e154a2095f81e52c49193dfaf240043ca..28644804cdcdfc2cca74437bdcd673f71b2097b8 100644 GIT binary patch delta 15940 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 REeMxTB!vXQDfTa+{{!EkIn@9F delta 15729 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 diff --git a/setup.py b/setup.py index 458b1ba..d83989b 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ # # setup.py # -# Copyright (C) 2013 Stefan Talpalaru +# Copyright (C) 2013-2015 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken From c3445ea99e459660b4fa6fea32c030f7050f1d5b Mon Sep 17 00:00:00 2001 From: Phoenix09 Date: Wed, 10 Feb 2016 23:01:51 +0000 Subject: [PATCH 07/53] Don't add trackers to private torrents --- defaulttrackers/core.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index bbfee04..a16713f 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -70,6 +70,8 @@ def update(self): def on_torrent_added(self, torrent_id): torrent = component.get("TorrentManager")[torrent_id] + if torrent.torrent_info.priv() or torrent.get_status(["private"])["private"]: + return trackers = torrent.get_status(["trackers"])["trackers"] existing_urls = [tracker["url"] for tracker in trackers] got_new_trackers = False From e6cdf397e58cafd12d73410e46c8a8437bd736a6 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 14 Feb 2016 17:47:38 +0100 Subject: [PATCH 08/53] torrent.torrent_info can be None --- defaulttrackers/core.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index a16713f..55ff090 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -43,7 +43,6 @@ import deluge.component as component import deluge.configmanager from deluge.core.rpcserver import export -from pprint import pprint DEFAULT_PREFS = { "trackers": [ @@ -70,7 +69,7 @@ def update(self): def on_torrent_added(self, torrent_id): torrent = component.get("TorrentManager")[torrent_id] - if torrent.torrent_info.priv() or torrent.get_status(["private"])["private"]: + if (torrent.torrent_info and torrent.torrent_info.priv()) or torrent.get_status(["private"])["private"]: return trackers = torrent.get_status(["trackers"])["trackers"] existing_urls = [tracker["url"] for tracker in trackers] From dbdce116723090b41d9a8757195a94f77cf09f95 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 14 Feb 2016 17:49:46 +0100 Subject: [PATCH 09/53] new egg --- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19166 -> 19214 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 28644804cdcdfc2cca74437bdcd673f71b2097b8..b173702fa1e04d1dc882aca72dace5ac3e6c1626 100644 GIT binary patch delta 3148 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 delta 3101 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 f0Rw>z@n{bBD4VoG#{{v7GO}*|Ly%B7l_KL From 76230f30f6770631a5a2ef4efc0a57e85ec7bd8c Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 14 Feb 2016 18:02:59 +0100 Subject: [PATCH 10/53] issue #10 --- defaulttrackers/core.py | 2 +- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19214 -> 19228 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 55ff090..0eac5d6 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -71,7 +71,7 @@ def on_torrent_added(self, torrent_id): torrent = component.get("TorrentManager")[torrent_id] if (torrent.torrent_info and torrent.torrent_info.priv()) or torrent.get_status(["private"])["private"]: return - trackers = torrent.get_status(["trackers"])["trackers"] + trackers = list(torrent.get_status(["trackers"])["trackers"]) existing_urls = [tracker["url"] for tracker in trackers] got_new_trackers = False for new_tracker in self.config["trackers"]: diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index b173702fa1e04d1dc882aca72dace5ac3e6c1626..2f6c6509eaba1a1d316ca1080ce9b4a0c37fc973 100644 GIT binary patch delta 3065 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 WTY3M#-rf5&_$%7 Date: Sat, 21 May 2016 09:50:09 +0200 Subject: [PATCH 11/53] add example tracker --- defaulttrackers/data/options.glade | 2 ++ 1 file changed, 2 insertions(+) diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index 2a37a8a..ceab6f3 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -67,6 +67,8 @@ <b>Examples:</b> +udp://tracker.opentrackr.org:1337/announce + udp://tracker.openbittorrent.com:80 udp://tracker.publicbt.com:80 From 3129edca06ddc8b609bf4955da8d993e2aa33b17 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 21 Aug 2016 18:28:35 +0200 Subject: [PATCH 12/53] add example trackers and bump copyright interval --- defaulttrackers/__init__.py | 2 +- defaulttrackers/common.py | 2 +- defaulttrackers/core.py | 2 +- defaulttrackers/data/defaulttrackers.js | 2 +- defaulttrackers/data/options.glade | 6 ++++++ defaulttrackers/gtkui.py | 2 +- defaulttrackers/webui.py | 2 +- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19228 -> 19286 bytes 8 files changed, 12 insertions(+), 6 deletions(-) diff --git a/defaulttrackers/__init__.py b/defaulttrackers/__init__.py index 5b091b0..81d6af9 100644 --- a/defaulttrackers/__init__.py +++ b/defaulttrackers/__init__.py @@ -1,7 +1,7 @@ # # __init__.py # -# Copyright (C) 2013-2015 Stefan Talpalaru +# Copyright (C) 2013-2016 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/common.py b/defaulttrackers/common.py index e4defb6..e7e72fe 100644 --- a/defaulttrackers/common.py +++ b/defaulttrackers/common.py @@ -1,7 +1,7 @@ # # common.py # -# Copyright (C) 2013-2015 Stefan Talpalaru +# Copyright (C) 2013-2016 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 0eac5d6..d2ad6ce 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -1,7 +1,7 @@ # # core.py # -# Copyright (C) 2013-2015 Stefan Talpalaru +# Copyright (C) 2013-2016 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/data/defaulttrackers.js b/defaulttrackers/data/defaulttrackers.js index 6f39827..b0bcc7f 100644 --- a/defaulttrackers/data/defaulttrackers.js +++ b/defaulttrackers/data/defaulttrackers.js @@ -3,7 +3,7 @@ Script: defaulttrackers.js The client-side javascript code for the DefaultTrackers plugin. Copyright: - (C) Stefan Talpalaru 2013-2015 + (C) Stefan Talpalaru 2013-2016 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index ceab6f3..988da2a 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -81,6 +81,12 @@ http://tracker.coppersurfer.tk:6969 udp://open.demonii.com:1337 +http://tracker.baravik.org:6970/announce + +http://tracker2.wasabii.com.tw:6969/announce + +udp://9.rarbg.me:2710/announce + True True diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index c5c1fa3..fa8ef10 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -1,7 +1,7 @@ # # gtkui.py # -# Copyright (C) 2013-2015 Stefan Talpalaru +# Copyright (C) 2013-2016 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/defaulttrackers/webui.py b/defaulttrackers/webui.py index 8a32ebe..7f6dc84 100644 --- a/defaulttrackers/webui.py +++ b/defaulttrackers/webui.py @@ -1,7 +1,7 @@ # # webui.py # -# Copyright (C) 2013-2015 Stefan Talpalaru +# Copyright (C) 2013-2016 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 2f6c6509eaba1a1d316ca1080ce9b4a0c37fc973..32afb2eefdfac9f46f63ce692f79e166e98223c2 100644 GIT binary patch delta 15405 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 P0uV|b1*$>vAI1L%C;Q;s delta 15381 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

?Hyr2#dk; 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 Date: Sat, 16 Jan 2021 17:32:27 +0100 Subject: [PATCH 36/53] Drop support for Python 2. Remove six dependency. --- README.md | 4 +--- defaulttrackers/core.py | 10 +++++----- setup.py | 8 +++----- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 33ff9e2..a6ac79c 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ supposed to reach public trackers. Besides manually creating the default tracker list, you can also load it (periodically) from a URL. -This plugin is compatible with Deluge 1.3 and 2.0, Python2 2.7 and Python3 3.5+. +This plugin is compatible with Deluge 2.0 and Python 3.6+. ## Installation @@ -22,8 +22,6 @@ This plugin is compatible with Deluge 1.3 and 2.0, Python2 2.7 and Python3 3.5+. * you need to use the same version of Python as the one that Deluge is running under. -* if you're using it with Deluge-1.3, you might not have [six](https://pypi.org/project/six/) installed. Install it. - * add it to Deluge from Preferences -> Plugins -> Install Plugin ## Troubleshooting diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 70bccc5..9608224 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -45,7 +45,7 @@ import ssl import time import traceback -import six +import urllib from deluge.common import is_url from deluge.core.rpcserver import export @@ -95,13 +95,13 @@ def update_trackerlist_from_url(self): 'Accept-Language': 'en-US,en;q=0.8', } - req = six.moves.urllib.request.Request(self.config["dynamic_trackerlist_url"], headers=headers) + req = urllib.request.Request(self.config["dynamic_trackerlist_url"], headers=headers) try: - page = six.moves.urllib.request.urlopen(req, context=ssl._create_unverified_context()).read() + page = urllib.request.urlopen(req, context=ssl._create_unverified_context()).read() except: # maybe an older Python version without a "context" argument - page = six.moves.urllib.request.urlopen(req).read() - new_trackers = [six.ensure_str(url) for url in re.findall(b'\w+://[\w\-.:/]+', page) if is_url(six.ensure_text(url))] + page = urllib.request.urlopen(req).read() + new_trackers = [url for url in re.findall(b'\w+://[\w\-.:/]+', page) if is_url(url)] if new_trackers: # replace all existing trackers self.config["trackers"] = [] diff --git a/setup.py b/setup.py index e668141..ff0aca2 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ __plugin_name__ = "DefaultTrackers" __author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" -__version__ = "0.2" +__version__ = "0.3" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" __description__ = "Add a list of default trackers to all the public torrents" @@ -71,10 +71,8 @@ long_description=__long_description__ if __long_description__ else __description__, packages=[__plugin_name__.lower()], - package_data = __pkg_data__, - install_requires=[ - 'six>=1.12', - ], + package_data=__pkg_data__, + install_requires=[], entry_points=""" [deluge.plugin.core] From f2b8d7f7db5a1b4624150f033cc2f01d5f5a7ebb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Fri, 22 Jan 2021 18:08:32 +0100 Subject: [PATCH 37/53] convert byte string URLs to unicode --- defaulttrackers/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 9608224..602a97e 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -47,7 +47,7 @@ import traceback import urllib -from deluge.common import is_url +from deluge.common import is_url, decode_bytes from deluge.core.rpcserver import export from deluge.plugins.pluginbase import CorePluginBase import deluge.component as component @@ -101,7 +101,7 @@ def update_trackerlist_from_url(self): except: # maybe an older Python version without a "context" argument page = urllib.request.urlopen(req).read() - new_trackers = [url for url in re.findall(b'\w+://[\w\-.:/]+', page) if is_url(url)] + new_trackers = [decode_bytes(url) for url in re.findall(b'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(url))] if new_trackers: # replace all existing trackers self.config["trackers"] = [] From 3114c3f6a83dc2131cd11693b061e7c13931f099 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Fri, 22 Jan 2021 18:12:24 +0100 Subject: [PATCH 38/53] release 0.3 --- README.md | 6 +++--- egg/DefaultTrackers-0.2-py2.7.egg | Bin 31785 -> 0 bytes egg/DefaultTrackers-0.3-py3.7.egg | Bin 0 -> 31927 bytes 3 files changed, 3 insertions(+), 3 deletions(-) delete mode 100644 egg/DefaultTrackers-0.2-py2.7.egg create mode 100644 egg/DefaultTrackers-0.3-py3.7.egg diff --git a/README.md b/README.md index a6ac79c..4765df5 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ This plugin is compatible with Deluge 2.0 and Python 3.6+. `python setup.py bdist_egg` -(or try to use [the one from the "egg" directory][2] - be careful to install the py2.7 version of Deluge, if you're using Windows) +(or try to use [the one from the "egg" directory][2] - rename it, if it doesn't match your Python3 version) -* you need to use the same version of Python as the one that Deluge is running under. +* you need to use the same version of Python3 as the one that Deluge is running under. * add it to Deluge from Preferences -> Plugins -> Install Plugin @@ -36,5 +36,5 @@ To get Deluge's output on Windows, run this in a terminal ("cmd" works): * WebUI version [1]: http://deluge-torrent.org/ -[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg/DefaultTrackers-0.2-py2.7.egg +[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg/DefaultTrackers-0.3-py3.7.egg diff --git a/egg/DefaultTrackers-0.2-py2.7.egg b/egg/DefaultTrackers-0.2-py2.7.egg deleted file mode 100644 index bd5991123c8f53ad20b2f665f5101a1a87c1e877..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31785 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 LugdKI`tAP#E2%6d literal 0 HcmV?d00001 From 0cf6f6f42ac23d7cf5fcfb1bcb59aede5c23106f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Fri, 22 Jan 2021 18:25:57 +0100 Subject: [PATCH 39/53] version bump --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ff0aca2..2e1a231 100644 --- a/setup.py +++ b/setup.py @@ -45,7 +45,7 @@ __plugin_name__ = "DefaultTrackers" __author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" -__version__ = "0.3" +__version__ = "0.4" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" __description__ = "Add a list of default trackers to all the public torrents" From 1b8c9f33f1aa4d3188d69c8774360842127a297e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Sun, 27 Mar 2022 21:55:22 +0200 Subject: [PATCH 40/53] README: add tracker list URLs --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 4765df5..ea93882 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,10 @@ This plugin is compatible with Deluge 2.0 and Python 3.6+. * add it to Deluge from Preferences -> Plugins -> Install Plugin +* now you can go to Preferences -> Default Trackers and add individual default trackers, or the URL of a list that should be periodically downloaded + (e.g.: https://newtrackon.com/api/stable +or https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt) + ## Troubleshooting To get Deluge's output on Windows, run this in a terminal ("cmd" works): From 91ef13529b6bab90e8102b4afd29766c9e6e5804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Mon, 25 Apr 2022 22:01:47 +0200 Subject: [PATCH 41/53] WebUI interface + Gtk3 fix --- README.md | 3 +- defaulttrackers/common.py | 11 +- defaulttrackers/data/defaulttrackers.js | 101 +++++++++++++-- defaulttrackers/data/options.ui | 156 ++++++++++++++++++++++++ defaulttrackers/gtk3ui.py | 9 +- defaulttrackers/webui.py | 18 +-- 6 files changed, 267 insertions(+), 31 deletions(-) create mode 100644 defaulttrackers/data/options.ui diff --git a/README.md b/README.md index ea93882..c500d91 100644 --- a/README.md +++ b/README.md @@ -37,8 +37,7 @@ To get Deluge's output on Windows, run this in a terminal ("cmd" works): ## TODO: * log the added trackers so we can remove them from torrents when they are deleted from the default list -* WebUI version [1]: http://deluge-torrent.org/ -[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg/DefaultTrackers-0.3-py3.7.egg +[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg diff --git a/defaulttrackers/common.py b/defaulttrackers/common.py index 6a28ee8..d0775fc 100644 --- a/defaulttrackers/common.py +++ b/defaulttrackers/common.py @@ -1,7 +1,7 @@ -# +# -*- coding: utf-8 -*- # common.py # -# Copyright (C) 2013-2019 Stefan Talpalaru +# Copyright (C) 2013-2022 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -39,9 +39,8 @@ # -from __future__ import absolute_import, unicode_literals +import os +from pkg_resources import resource_filename def get_resource(filename): - import pkg_resources, os - return pkg_resources.resource_filename("defaulttrackers", - os.path.join("data", filename)) + return resource_filename(__package__, os.path.join("data", filename)) diff --git a/defaulttrackers/data/defaulttrackers.js b/defaulttrackers/data/defaulttrackers.js index b0bcc7f..0df6ce6 100644 --- a/defaulttrackers/data/defaulttrackers.js +++ b/defaulttrackers/data/defaulttrackers.js @@ -3,7 +3,7 @@ Script: defaulttrackers.js The client-side javascript code for the DefaultTrackers plugin. Copyright: - (C) Stefan Talpalaru 2013-2016 + (C) Ștefan Talpalaru 2013-2022 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) @@ -31,20 +31,107 @@ Copyright: statement from all source files in the program, then also delete it here. */ -DefaultTrackersPlugin = Ext.extend(Deluge.Plugin, { +DefaultTrackersPanel = Ext.extend(Ext.form.FormPanel, { constructor: function(config) { config = Ext.apply({ - name: "DefaultTrackers" + border: false, + title: ("Default Trackers"), + autoHeight: true, }, config); - DefaultTrackersPlugin.superclass.constructor.call(this, config); + DefaultTrackersPanel.superclass.constructor.call(this, config); }, + initComponent: function() { + DefaultTrackersPanel.superclass.initComponent.call(this); + this.opts = new Deluge.OptionsManager(); - onDisable: function() { + var fieldset = this.add({ + xtype: 'fieldset', + title: ('Dynamic tracker list (optional)'), + autoHeight: true, + autoWidth: true, + }); + this.opts.bind('dynamic_trackerlist_url', fieldset.add({ + xtype: 'textarea', + fieldLabel: ('tracker list URL'), + anchor: '100%', + name: 'dynamic_trackerlist_url', + autoWidth: true, + })); + fieldset.add({ + xtype: 'displayfield', + fieldLabel: 'E.g.', + value: 'https://newtrackon.com/api/stable or
https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt', + }); + this.opts.bind('dynamic_trackers_update_interval', fieldset.add({ + xtype: 'textfield', + fieldLabel: ('reload every X days'), + anchor: '100%', + name: 'dynamic_trackers_update_interval', + autoWidth: true, + })); + + fieldset = this.add({ + xtype: 'fieldset', + title: ('Default trackers'), + autoHeight: true, + autoWidth: true, + }); + this.opts.bind('trackers_ta', fieldset.add({ + xtype: 'textarea', + fieldLabel: (''), + anchor: '100%', + name: 'trackers_ta', + height: '200px', + autoWidth: true, + })); + deluge.preferences.on('show', this.onPreferencesShow, this); }, - onEnable: function() { + onPreferencesShow: function() { + deluge.client.defaulttrackers.get_config({ + success: function(config) { + config.trackers_ta = config.trackers + .map(function(tracker){return tracker.url}) + .join('\n'); + this.opts.set(config); + }, + scope: this, + }); + }, + onApply: function(e) { + var changed = this.opts.getDirty(); + if (!Ext.isObjectEmpty(changed)) { + if (Ext.isDefined(changed['trackers_ta'])) { + changed.trackers = changed.trackers_ta + .split('\n') + .filter(function(line){return line != ''}) + .map(function(url){return {'url': url}}); + } + + deluge.client.defaulttrackers.set_config(changed, { + success: this.onSetConfig, + scope: this, + }); + } + }, + onSetConfig: function() { + this.opts.commit(); + }, +}); + +DefaultTrackersPlugin = Ext.extend(Deluge.Plugin, { + name: "Default Trackers", + + onDisable: function() { + deluge.preferences.removePage(this.prefsPage); + }, + + onEnable: function() { + this.prefsPage = new DefaultTrackersPanel(); + this.prefsPage = deluge.preferences.addPage(this.prefsPage); } }); -new DefaultTrackersPlugin(); + +Deluge.registerPlugin("Default Trackers", DefaultTrackersPlugin); diff --git a/defaulttrackers/data/options.ui b/defaulttrackers/data/options.ui new file mode 100644 index 0000000..1b8a089 --- /dev/null +++ b/defaulttrackers/data/options.ui @@ -0,0 +1,156 @@ + + + + + + False + 10 + Tracker Properties + True + 250 + dialog + + + + True + False + 2 + + + True + False + 0 + 0 + none + + + True + False + + + 134 + True + True + + + + + + + True + False + <b>Trackers</b> (one per line) + True + + + + + True + False + 0 + + + + + True + False + + + True + False + 0 + 5 + 5 + +<b>Examples:</b> + +udp://tracker.opentrackr.org:1337/announce +udp://tracker.openbittorrent.com:80 +udp://tracker.publicbt.com:80 +udp://tracker.istole.it:80 +udp://tracker.ccc.de:80 +http://tracker.coppersurfer.tk:6969 +udp://open.demonii.com:1337 +http://tracker.baravik.org:6970/announce +http://tracker2.wasabii.com.tw:6969/announce +udp://9.rarbg.me:2710/announce +udp://tracker.zer0day.to:1337/announce + + True + True + + + True + True + 0 + + + + + True + True + 1 + + + + + True + False + center + + + gtk-cancel + True + True + False + True + + + + False + False + 0 + + + + + gtk-add + True + True + False + True + + + + False + False + 1 + + + + + gtk-apply + True + True + False + True + + + + False + False + 2 + + + + + False + True + end + 2 + + + + + + diff --git a/defaulttrackers/gtk3ui.py b/defaulttrackers/gtk3ui.py index a474273..00f77fd 100644 --- a/defaulttrackers/gtk3ui.py +++ b/defaulttrackers/gtk3ui.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # gtkui.py # -# Copyright (C) 2013-2019 Ștefan Talpalaru +# Copyright (C) 2013-2022 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -41,6 +41,7 @@ from __future__ import absolute_import, unicode_literals from gi.repository import Gtk import logging +import os from deluge.ui.client import client from deluge.plugins.pluginbase import Gtk3PluginBase @@ -67,7 +68,7 @@ def __init__(self, gtkui): self.gtkui = gtkui def show(self, options=None, item_id=None, item_index=None): - self.builder = Gtk.Builder.new_from_file(get_resource("config.ui")) + self.builder = Gtk.Builder.new_from_file(get_resource("options.ui")) self.builder.connect_signals({ "on_opts_add_button_clicked": self.on_add, "on_opts_apply_button_clicked": self.on_apply, @@ -110,6 +111,7 @@ def on_add(self, widget): if not self.in_store(url): self.gtkui.store.append([url]) self.gtkui.trackers.append({"url": url}) + self.dialog.response(Gtk.ResponseType.DELETE_EVENT) except Exception as err: dialogs.ErrorDialog("Error", str(err), self.dialog).run() @@ -117,7 +119,7 @@ def generate_opts(self): # generate options dict based on gtk objects buffer = self.builder.get_object("tracker_entry").get_buffer() options = { - "urls": buffer.get_text(*buffer.get_bounds()).split(), + "urls": buffer.get_text(*buffer.get_bounds(), False).split(), } if len(options["urls"]) == 0: raise Exception("no URLs") @@ -128,6 +130,7 @@ def on_apply(self, widget): options = self.generate_opts() self.gtkui.store[self.item_id][0] = options["urls"][0] self.gtkui.trackers[self.item_index]["url"] = options["urls"][0] + self.dialog.response(Gtk.ResponseType.DELETE_EVENT) except Exception as err: dialogs.ErrorDialog("Error", str(err), self.dialog).run() diff --git a/defaulttrackers/webui.py b/defaulttrackers/webui.py index c717d38..f0f4a71 100644 --- a/defaulttrackers/webui.py +++ b/defaulttrackers/webui.py @@ -1,7 +1,7 @@ -# +# -*- coding: utf-8 -*- # webui.py # -# Copyright (C) 2013-2019 Stefan Talpalaru +# Copyright (C) 2013-2022 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,22 +38,14 @@ # statement from all source files in the program, then also delete it here. # -from __future__ import absolute_import, unicode_literals -import logging -from deluge.ui.client import client -from deluge import component +from __future__ import absolute_import from deluge.plugins.pluginbase import WebPluginBase from .common import get_resource -log = logging.getLogger(__name__) - class WebUI(WebPluginBase): scripts = [get_resource("defaulttrackers.js")] - def enable(self): - pass - - def disable(self): - pass + def __init__(self, plugin_name): + super(WebUI, self).__init__(plugin_name) From eaa68de4cafb7683479fe9e40074ca28e0c94233 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Mon, 25 Apr 2022 22:03:22 +0200 Subject: [PATCH 42/53] version 0.4 --- egg/DefaultTrackers-0.2-py3.6.egg | Bin 32037 -> 0 bytes egg/DefaultTrackers-0.3-py3.7.egg | Bin 31927 -> 0 bytes egg/DefaultTrackers-0.4-py3.9.egg | Bin 0 -> 33796 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 egg/DefaultTrackers-0.2-py3.6.egg delete mode 100644 egg/DefaultTrackers-0.3-py3.7.egg create mode 100644 egg/DefaultTrackers-0.4-py3.9.egg diff --git a/egg/DefaultTrackers-0.2-py3.6.egg b/egg/DefaultTrackers-0.2-py3.6.egg deleted file mode 100644 index dd44ad38233d739c87df9e2f7badb03f26966bfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32037 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

?Hyr2#dk; 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 LugdKI`tAP#E2%6d diff --git a/egg/DefaultTrackers-0.4-py3.9.egg b/egg/DefaultTrackers-0.4-py3.9.egg new file mode 100644 index 0000000000000000000000000000000000000000..665b920e2635761fb56d54eff12079eaea6203fd GIT binary patch literal 33796 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 Date: Mon, 25 Apr 2022 22:05:26 +0200 Subject: [PATCH 43/53] bump version --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 2e1a231..0bc0329 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ # # setup.py # -# Copyright (C) 2013-2019 Ștefan Talpalaru +# Copyright (C) 2013-2022 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -45,7 +45,7 @@ __plugin_name__ = "DefaultTrackers" __author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" -__version__ = "0.4" +__version__ = "0.5" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" __description__ = "Add a list of default trackers to all the public torrents" From bd8cef981c1fe8a92967163354711b990a84ed32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Thu, 25 Jul 2024 02:54:58 +0200 Subject: [PATCH 44/53] fix regex string type fixes: https://github.com/stefantalpalaru/deluge-default-trackers/issues/46 --- defaulttrackers/core.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 602a97e..8f41691 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # core.py # -# Copyright (C) 2013-2019 Ștefan Talpalaru +# Copyright (C) 2013-2024 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -101,7 +101,7 @@ def update_trackerlist_from_url(self): except: # maybe an older Python version without a "context" argument page = urllib.request.urlopen(req).read() - new_trackers = [decode_bytes(url) for url in re.findall(b'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(url))] + new_trackers = [decode_bytes(url) for url in re.findall(rb'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(url))] if new_trackers: # replace all existing trackers self.config["trackers"] = [] From 991495713f5cf12191e38aa23c910ff1dc657260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Thu, 25 Jul 2024 03:06:10 +0200 Subject: [PATCH 45/53] version 0.5 --- egg/DefaultTrackers-0.4-py3.9.egg | Bin 33796 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 egg/DefaultTrackers-0.4-py3.9.egg diff --git a/egg/DefaultTrackers-0.4-py3.9.egg b/egg/DefaultTrackers-0.4-py3.9.egg deleted file mode 100644 index 665b920e2635761fb56d54eff12079eaea6203fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33796 zcmagF1CTAZQEXL+qP}nw$0VHZQFLQ#%kNv-`_bm&ffd}C*nrTikNdoj8UU9 zv$FEddWO6dFbE0&000DlT3v?nEOHZZCLjPnHxK{-;?KV#Vq&xsvZ8YI@>2i(#Yb_{ zc9Q|2>z?{)4Jc)ch38b6SSE|0#&Aj2Q#Xn_2|@(wfGP63D0gZ0Y$3r%JOB^khLMYz zYZ8B`ETP`BDBb!7*1LjUISQEdCdG3qwiU6H+(X4|Z1k;hPMk*h_k7F=!%+xX z+OzUB(6R(SEprwE_RIadI>4sV@Q32O{|f6(==CI^41|b8wY3;;MAY^9@_n%;*8%TP zen8k$P51ZmZ-C`r=OE1;-5s{SR_$!l;5W10bFqt;R7i~9?8v|{$*AiuKuTFpk&;SJ zbHlguR}r#l!;& z23<2CVKCr?vq%kvT(qVIt#gFCrR*24FOB^J=y@(7!$eot0}qyzuT0$>`_wM}o6~P0J24!1UdE?U<|wkf*l*AlDVRa*1i| zi|Q(oOXB3&&AxOq?nHnH5!^3m@RiwOLo37jL~%e8_SW8-s#@0078B0RUkCoY&aI)WF5s+1b&+$jZdg ziC$07!q&oBPmj*tqgrLtcApKwN7ru{z@r|p*0NT?y73%Mp}}E=pDvUh_Ksw3Va!k{ z0Z3wfe#cE*q9y5yjaHwB1kds4Cc8b}EQdLqh^{@RAg_$m%vi6yV8J^{<3#sycTu1H zP26wBz<|*NDODOpnn7n^?FDs{PFtBqi7H&>D-68DICNA#+;NapeG0mtMzAX3i?pt$ z=VQ07-_Cxt>CjK&MQQv6lQjC?=JVVziJ1=T!%x(gEHlUn!lb|f+=;~j%;<>rGTLom zb`N`!BgZWzg>$A2fk9TiM)$8DJPw?GXoM<4B0zW60bnl$Y`dhpW_yStSy{iSIOTFXU zeGn2WG6VH$prhZUQ8L(j9}J4^xH0cNulHYZ8Z0CfJ_V3z8nruW0&;j*t))%Es%BEJJ#ZVywi1FdX;czYVg{sECks8|WUxiW2g+3M zJ%^5uuR2XZ_ivE6J#V~i`rMwx+G&)_zi3t@vbZCV=?~_Xlab=ceSaQ5&bUN^(-t>R z@5UK(rPH2Qqd=wcjt~ZDvgu3JDmU%n8kfDF>e|Rw>i8e>_-3h!dg!nua*M$j!vwL2 z$dJa?(8}`|?`Y=@5tPoGGCnwJCJW^q_d(g(q5XR-pcL16FIY;q>n5gW!wxqk@s{i1 zl`z5SqVRoj6Va1q0~>nk4&>O8e=h(c=O??;rA?@#JD~%?@WO@##SPBuuZ1lWRi$u1 zA*mo%+Yo~o6x2>DHX;cVC+oiC+r)V=6)IrqNcAc-XXd~LXz zC;mRog(i{ODtmQ5y11BE&od{`IUk3VnZiQ!2Y9px{sPoXbW~eY z;@6W0D^Gq&j1Qd$^+Zsv@G|1`HilT)Pm-4f|L-jQf2R*4I~yB2+n?kSqWs5plM|*#_jjPWT_WLa zBFf-;hkjWWtCs&4$Sa3XEzod@4Q+$5xT9k4IG#lut7OY!H5b>tj9}!4uvm94+gy0anP+jcj)yF4Vm;nW<(%l ziBvkqb$#`IgJFguV873exZ2bW1e8LFcHnRq!W5A()+u?Yj>|26E9}ky?P985%1v$J zJRYg^ozUks(=;YJ?ALY1w|vf^8^VP8K4PkQ0Swuc)&{1ZgdaG*#>{Dth3Xl_zF;4T zX}f3i7oP)5FzAS;0EJ=+ymo(){S&Fx1;J=$T%5Qvfjw}9C`ciamoXNw-%Fn4mwa;G0uh;9U6vQy{cMS%l|b+=3Q$ z@KgMI+GO`r?++Q&hRY}dugoHIQ;wuNz>bk~_WU+uq4!6rKWCM(^;r6akXQT-8t1k5V()R+MZPGVy3aQQ6h$pv!lDA0OG=d;gQtif*ZH>BEh zgPo6qUXjfi1xnodF+&mt+5YADG7VK_=0I)Ty0UyqqVBA{8MXM@hmEgqSDwv*>z_!1 z>cNwb-W~0bX?1Hf=+Bi_6%!5DpO&B$s z3M?}|m}~YGC^Fu_u&;pf?0)+zx4?@{OJJ+Ee|psW@{Z>ot%bEm1C9QT`b8XR=tv*_ zm{ROMkZ~JKmkwFn1l_JU(viK1pwEsM6B;!CYQGdVO;yF^L@KWDFlA+rgbJ*rKU5Cx z9bH%US<`*eM4Ev_q7F=%ARmNMq-EPxR|QmIzEd=GvPPNg${y1o!4jfcZt5`|7S%;B zU!(f#CzEjfS0>T>CzEhheX;TX4NTZRamgdAx&?NDtHpkkRY|}xlJ_MQFK?hFuqQ6x zig|P;)7D>o*br`A>yMbP=(IHL&Ytbug53y&kT_ORuRK8j2 zElb9u_EeQMNjM~mZF(vl>`_9|wC4IK1~7u85VJT9QGBHz<_>s!Fw0=wXml1UCJZmL z?Qg=~nOcM%mgy@)OV$PWyVe_?16R#V37CB9-ej0-YoUlY%kQ+t*>VLm?)Z~BqzOd4 zA}?FSx}##L6$@#bKX@8D|De%qG@`U>dG1KdGh~74p{D&wYm&V%!Iu^9o`L_@yRKxf9FS_Rg`J@+K^0*)|J)|lF}krMkKbZFn#HvnOn@|=vFH6^%Km_7#bZ^^ zACi!bSHC2y3C^OlIhc)hX{@k0_#7dL#+f-ob1#c^A=3KX5aJhh!S~%_I6#Vh%f83B zO6g^_6-`UFP5UBU?wWVR$0c#y9s!g(bjp%A73qQGM6I3&s!NDXAKP-V!lRGh-ZGD$ z_*r6XPfg;*)jQdGYbF%_lH>MR-0bALYe{K$c$Lx)s9$`xW{b@3VUk@t!lK zh&xrlZfYmQs|Me1JEEJW6Dd!<5?89dBNEvyWBw6)y#J(a{PjYx3)N3FNTvy4x-_)y z#J)}It3a7`54uPc9lboy9#Ts*sn0KF!6vpu2AwHxLc!9=448J-ZeS@0EdFx1i25!f zp6@Y5x99+~qbD2?FUo@Xizc6v+3C02g;~)MgBs9>8B{@gOtSZ&FbLH2RWKVyW7;d7 zRDk^Wek!eUMTTT}IUu4o9R_Io!IU+$)L>dmNHjlS0&_}VGG=gpo0sFedfigE1lF&9 zXw9eh*OS#*HR6@;hmg;0e3-XfQN3;dl^GP(;hZrN5q@=${yH(>RA>rVKzuoH^4`G0 z@2`))-VY%xd|dcGoVal7>&JlSjgw#c&c2Q=^Z0d>mHmgudz4M4LWJ3Kqumo^baa}1 zywLvXCIql3Q9^9{Za{#r!p`8$>0TLC9nWBWA*@XVsrYYFBL@ zbzQw=Tv;#7QWKyOZyBPQ_5e`L$PfiUu!n>Q60LtvK~K1N_dCt#>(#0qmWne`O?|>ro z?Dk<-07uu2fF_gS*xn>-0>%<5(UJNqYf#LU#M79M(r}S0&~PtOpu|X%nGUl?aZe5h zp)yTPQKyY#)8$7tP39*?*_bX+5Q@WuVA=cUJFvK*qF&?+YEUi@gi~B4JRKS)A&^#4 z&{R?A(|}BeG?mF)>MEF0F4fmMm@cfWji-PS1x|q|8GGZ&fultFD}=}^1H7!M3}qtk zy(cY|Xuj~8{PORASu4YM9Go4ISsDyCJQx*+8d_U&6fE+uo7YC!SC?^slZncwLywM# znpN?v^dK1FZlfhr#09o$H}uf_E1f=Q$01_ujgSzQBf1}gY8rzxa!SG=I9Lsu<({V& z!obBM^M&U`4D}Z|yv@0hU02E^?TkcH5g-ti=FuQbDq;aS{O!5K zsBK*L(Vozu0nC>Uu{8eCiSjX<hhIW7|<+6lh&VYgkz)9v(w?A1$HsWur*3xfRu8_Pw&!JC_9? zzk8`uhkbNvK^&&cw+}f~i)#rI7vl8W=}0oGLLc80Saxt!E)vdu6U3wEyS^rD07&T; z3SR8yo<3k8m#Y=*RGK$2d)QWRi6ED1R5l#WPST#@+gr7ZK{|C!-c4I~S}6PQ$1O)q zOL&?FcJ|~^u*dPdtCgizf1%v&@EN}2FZa$7-_2CIrg?l{JZ|r@q@4nLvAbXPevM+6 zT*vD6n!91M-v?bhlv&z9@*yS+B3)Mkk@!@(wa^Tzw7-NpXqtZvz=13EM5UWqyB`7Yv4 z*2Hz3H~=Z)Rk#J3u9Pw{buHLh2R2KPcRcpGxq4F5TgbW52zmHa3+ko?e0|ePQ^0Pd#bYrUtK$1lTMm_!gPtjKk#;Q` z9bPbtwp27cr@(xNG|?8#-!<%Oziz+S{qMK)&sEj;GN*g*-cw}@`GD~a0y`n~ebY)L zO z^8!^6-yOWX?}C{@9JT)A)`vU!LmkFei$LJcdP-k(?aA%d9CKwi{3dFM1%!&j3fosJ z54_skb-F+EH^)v2YtCvQJAW`@XXjd?QW}ZLgG8)yM7D{OyN4eYcc;$+E)VZ79d%?; zK9dJpXyX&y>=8d%QqgFVA|o?eRW6V)VkYvE75TFl z#t+S8oiA^k_8B??X9b5AQ0as_J#!9ql}tXH9d`#5k*p=c#q@O_rCGb7mrr$}AW@-z z)whY1C&&(i>8$gjL$;tUyI=#dIA^W(WRn)xZ)_^J)sHtOHq<%jELSj!d^k*`q3GV$ zuRvE&Y92XoKAzFJjCo0ME1>wYxI7tACf2MtyI5FXJ6nv>2z$Vp2Blb6uAU1S$b4Ca zb#?|T@YBMsLer=s*i)mSv~piEGHq)vwn9Nw?X=O*iEY+M+6-RH7qp!7RiEiCd+jz{ zK~`K-X!!k`jsdRBP(DFKY3+ak00^i1-*t?cvlX+8#ZPtfNApL=h@$n>{5B-eqtO`C zFzT|~AK`Ff_Ry}C^ytXi|8$EgrBf>K~@5jTFHEB`3^-f^EUNW17gUh|< z<8ptB{(RRlAc9}vkVxeysjyEAIby1DV!i4d1?O`K}?3@7zUn7^0X z;)zQeINMM0rviy$&7vesPi^!bPQl0;e{Rs1>M@lRuAfoirp>ElH$&LXRjenSV$)jW zPY@NX_a@9!Y+jO{IRS*=>uopTi&CceT~}$C$^V?@K%q!08f}$2AFqosjeX~2_;-X6 z@XZO*{P!r+XF>!9HHsI4~luW8w}&xO#H@=AUqtCBeS0#TY1ixa!*z=G(wknU-NMv|7vUkBe3OiL z>}U2d+1TZZl$#EUmpJCTcnvOg*Z21NzxM8f1`#{EIqDM;p(*zjP_*pXQO!7!4PY>b zM&*rNvxlH7DKy4F;40T~BK(`X=E22~AQxoGQ1{qpLl=!DXHfMtedZ=w zGsJ&nJFO;?9ID!Ry$_Rt@=5l1xjLUI|4HEBPCPDwa7~PWMc)hT7gfz}EMgKF$!@vD zcwf47LkX^p^UPmi_YHc?nC1|RGSkZfZSN@&EREX=i-l0gGNy~{O7^t`kwSk03?|ks zz(BIwEo0?)F(iv(Luk1s!;rdKGO+^%BJ|>5S}^+k3l4gN_a6ifh4HcSV7fI4bgW5sHzjof>9;AiFpC*@*~SBmD%xe)9LgK%vii7lY_B~2sfEZ6T+ z?Whsn+1e=z$vlc@dt(aX3~5NLTO}T6H!%rc-2stsdX6yW3|5VjznS#!2kGP&q*EtH zM?~7LO3XE&1?|$@A#{dAgjN9BN>6ogquDu;1eAP}o*c-4*E(#%hagpWuHapFkY0c;={lt&c5?k$c!tun5*bYi(QO|yn7&E<%qhPwXLU`{th z94}@2y#0GKM+&vP)rSnpy!LS8{(NgO(B?2t)Hk5Cy}z)u9IPkCT^aC0qdFfgGYgHm zt?5|nSS(CQ(txK&e%yX2G&zFm=r0TZY6swGrNx_5hHpXS2D|MAj)&Y5_j>RVyXG)ry4?+k!{)B+2$Rv2OlibZaCYfF1qpl; z{~db;*Fq%Tw%r|emhR50TsbMt)2}quP|K52nm9Lt_Gf%zhm|GLH(p9 zfa3rsue=*E8D4L6_!PiRvb+@7;!Bmql*0n{Da>X&^IIjVKU1FVHQ`le*HloQfAa&& zb&8ctVvup#ZD6V)bM3H!l{lCB^F>#55RKW-kKAjhHJCGz6FhP8@42ecKPmAFt*UAM z!YYm1*3!EaRoj$|dimv;vzGxmJGEo|F61suTR(&FFcKdPexiY%3Jab@*F7Zc+ZyN=>WyM7G8A{Ooz=DUBxamLvLG za>_m7N0qRdh82EgOUX2f8h)%fCtvZ7=;+;}oIr6=GK%#^3wOug1^uE)QrG`!g>Mw< z1;|VvfjRS>xN-I|DG;h(oq-eyktPWX_d{tw|Cx)WQl@LBhVL{(PLh)H^n%4tH*##v zDthnVB}Ah}Z$ak%jufj6y~U2ei(&+XyO{5VHNdDU>E`8JWI*K}I z-qyi=zTY4XF@_tmpm-Su{d;Dwq+AOXgZC(qyB4tQ_+plwxDI4wBt)NeBo3p~2Lv zyKlhrDR<}CWxs*62Jmea3;tN*uM6%LPFV%A>wC#CN?b>_Nd2~|l4}WKnt~V8c+!5l z^2@PFgw2WEB=U64q^xtZQJnuG&~%W7$TN^>K8GiJjJ3j;XsxO-A}M%Vl{`Fmz7ciT z^ZZp>0nN!=hv^zi6K}US$HkLqoQ=<#Ye54a!+A$@uXKKyyxSpV=o`5g_XD3zHl++x z=QT>VdCr{)4j9~Yq)Gkn5};)?uU}o;^6Ls}&|24(7bz?-wo{rpdlZN2xE`=R%|2yM z)iD5@aGbRQGVQz~?sAOBE$Lv7fg`fj4y$P$B9F0ya|W23b5h})SS=cOcm{qfGtRPw zQ@2(%v00;pQueD>YwxpNPv+|F9T)D-aldV!n1RYSqO?2AdS&c7?3%>9iX)v{X_TwO z+Fj}UE8Wi=?d&iIgl~=@(`eK;@}ldI45K19)lhBoxl;c8%J3y$2Cq4Rux^3yFyA)n zYz*N6XBgOvbli^Irlzd7n;|8G+^|CkC+$I5+v@VM_7ty`z*_cQYxiC^sD>|2c2 zO!NVjb%A=NN*+-tf-jw+p5AWuI&+qxbCF21Kg9OxO|PWCTPWoy>m+8Z)bem`ymZ!x z@1R%|W~G-7u0uY8P4R6?vgIy(7F4j(E$l0{DkC>-)q$J8((WA);sY+*spkbYPSa~P zVAJFOIL*Hw1-;k957x3%bk*f$-T1!akw&&T4-x-<{ELrC+wR=i8n?}+&_*l0eFaI$ zY`gt6S39D0?C7KQeb||2+2OUPeyenZHya;45%b~7WF?oGO@>OE1r;_E`al@Q&c?e_ zZA7h1zSl!Q$#RaVm5W`-pBrtK6?SSZ9Ne)n-<+6a$mL&*yD z?~GZsGn_faht#aC-qH%CY`?#WCY9KQu2{86;$q9GCymZJ8gp~5)GE&lopP&Q4-WZb zGMqAPGk^MjAKogSWYag=kZ*Mo(!zSexgLcq3zRmr)P`h=m5N%nT5rmQVS}5Dn6>t4sPYVEm@xL^4e+19}=$(DG zAH9_Tf}HYgyspiM6zXBb@J{gu`i;j! zVs>$YF}CBRavMo)nQ!9D4a}?5U1$yagcHkyRMOd@EC z72Q}ROs<~NJGU-lVcahm<$ee?lGJEK(!bt9q}b=p`9i)jO+J}j=&~vD>kPtU= zgyT?CXm$>H;>2VUJ;r&8?TW%fF8~mBwbx@>sZ0{cj!IL=bDya28Wn5d@*+$)ic-}c zGQI)Q(zM9@euMy-N7_YvNFxRzBvxdo+)3!JX;=vAcjmG!1@Xeh;s?MWGOZvn+6q|f z1(G+KE#Y}e00)Z31QSSo{B5umJ~QI^>e?j4c_GaQ`-d0D&u+|)uAdR!+@0M#oxgqF z5Lb?*02{5RVUWP#_W@w;#O)_(8DIgf$y$&3fQQ%R($vx#<;Grz4=+5KauTDSTMweQ zvj5D`&0g2c*p5&CxtxAK1!*Hw8euW-Rh6i^B*Gj^3koXRh=;D;UOc^F$b)^8Uf)=W0Vl#CBh!>|K%8Pdp})eBQY9F?3fX1wDkAa4*noj zCNEjuqXpbK;Bnw+UB3uX@DM2lC%3PIGdGdjA~P{&Lp&0e$d-SQ zl0pF!nqz!`51fYSh(cFgWMZ*+p8=|dKN5^MnD1nYYn3*_?#XPdvx*QX^McJJi&95=IAGOmY;K2V5>rGYD zhf7T4Ebd=gLJDleGLGiPGLLy5>@h))c{tI>Ua`JGVV3KZDk|D#iPfABTmi#%PKD-b zJjXzQ044)_1rSK)ozF}aF9x(AIgG}=7YQ5e!^$BTXUIWKYR!=62%uTd5(Y!63TtX9 zFSA|1VovL*TnrRG7oIl}-uko@8;B-f01^TNz`26ykVhCuKzAqDK+tyrHcH@JBMkIP z%rHwl7KUSkLV|#zZ^T*$onMxshg|QE)Kr(wR*?5MB%aP+qjQ3rbtQeH_~M&GrAqsQ z&97@dNd7>*J+3%VFd+gZfl#m_?CGfEB-I`=ttq`1i*dv6BsfIh=67oTfz6n%z0`2&4qEcR!Na;02R%Z!Sy<;+2h8sU*J0VfqAbLF=xvu`)96dJ`^ zFEYb9+NkQ|RgV(D&9Psybb#=ULFDfgVBA=S@?g8ej?j|*?H-6h#9loP9_DIYRM!L& zgh_khFpQtdRktkuV2VtWXqF>;kY3c3Y-_+v9?n&enbJV_byr^}faef_ETy+bPH)m^ z%@!AHpw0kQN8==nlL-l{dyqpmfm)cAH2IsNC#-WWnzn&={%G=eQZ8|t3WH%fzU{VK z)z8VAfx}-{3mekSz7vA(@FehGP9!Ut6-93<*ykV_E{+AKTVq9*pLr?02#TY~szgiUW;8hhS6EHt1Cud-Y6hio?Ctvc#p&+m#@gA{p84RwPKVsbKvRTt$DqC7 z40xqci4A|qDWtS!5%WuGHb`L9Rh`zYjlRJD^;5U~y&OcAU!J^0@HoZSJG(PtGO7XmP`lhC zlQd-2*}_|`9JX?l5<-XSvL4xXRzVZCNBl$i<_QAd-&JXOf}42r?VI+da!tieV%WweVEYvGZ`tI_%J? z<7d0SUjn^8(^qAs_QB*LsMA3o2eC$)(U|tVITIjLS|6rb9@RprbIVX?E=m*B90z2q zbW+;C96KPp!Fkg4#rWKzZ*8-1<{o@HVm{{7wEU2}QR^C5iS4WqbcW;um(LT%(K*ar zhR)8#I%0EefxgTIClpmo8gP^?dNUL(bk> z`wtO!r;r)&JC|VD24qgVS*wnmr#)6dkRnfo4qSz)(2iExt_n%B$FHzw27@IY&w@wE z&$N0KLFcko4`6-t4W-4P$pbP?D7hWwrLnNU>QR5jwO^Qz@tMXdz zX)U5f9|sZX*}(!I?OF%^y6rsmNP2{osl_xQuRo}4MQ?`5XH~c04B7jl_>wtdTX@Yr zzni9MT!qzkdz741(kAKerarS5wzW={W4byv4L7R7aFcA)x1?Z3rh004JNLTIxopRBdjuRb zJsqAyqgUT27Jf%w&ql{;ul>maw@kvgK;z_l4vxoLt(CdSy0>i6-dXZ}MJmp;-62r@ zNNyilBq?+x?#<}ROyUfKj2JH-=y$^Z$_vP`)U#WygjFUq^^;KengaAAL%N;&@a|U> za;xzRCWX*}UXvJNWRI}S1LS88+0MeA?Lo4`c#s^&qMLV!{^EqY74E3Q9bnAcsNc=K zKzx}vRK{1vStg`%b`UASIj2>ajb88`E=J*(>!;VA{y|u6FE9KrFE6%h4L` zEq%R!XFkJESLQtJfNaFEBs#gjLB;H`xnxXaY~GlY{vIiu0fZHC+nV{}QOOy=3`?WI z{$t*}@17&9S-~dUE47*e%4*Z8*i7H>?(E~w*I?8xTMDVt&eN8ZU7J2}N_EcJzYXtT zG3VsINFNicnbPcWxQ`c?y=1$_#+UB`HxNA1{%KOZzSln3!z0`wrv4Fw_S@*0K_TM!9!ipBX`Lv6oOsX?1Fb+J08X37> z8yxYNb}W9Yr}BN4MxVODkW?`Fq0tIZrig}qXtV$upC|lMSl&L?9~v#`CM@w5SP}!h z^X8hH8Ur2nyEoyQa<*SA+_=C29-74g&ge*OgVq=58zNVu|Fla&_muruu#ep!#54LE zpB<+U2f3O633HL_2W;(l2uOcMWEkuF5TXUbw{-bwUrjH>bzJoT&>yXF$ zEK!|J0>QT;JX53QfSg|z5zDmqWLl~yEr{BBw55BHh&s}Brd6Nm?oX{7%gO<<*j<=%``2p@gs#UC}8!aXdD@`r?hI5r7cSwwpZn=qzzHSm)^7;6`QXtY-# z?8`U)SsKuCYxJkgq+eBz_xGlc9Z9oqYatoY@3OQf~z z&>aY3o-?c>_UW_WzAV* z*&fal^LcBs$^k`-N9CR1UoWhj_Yc?lSA8u>*?Tyf+u71GbNsvsHfmO$v|Z#! z$+@kZsf0yQ2GSuGDTol3MBSyC+$pe4Rd1ZaG3I+s>Fdiga9wz{|v{p}esLU9Ts4Gy&e>5cAAfyyHZS(kk;T z0pe^Rg{ihLj}p-^HU?<)WC^}uOC5USr>T4c16nXz`h!>jAkh<@x#X7M zK?$-J@Cy|<*gjMidBPh1+1kpyHbqF{2%Qn2@!(oJrk3WIfwo3X_8W4(wz`w-K2lIj z&q`hN$LUic|D9_tIH&cvJ{ImZuG{naS5gZ`%!W41r+8@o9k@}x^E*;6>vuujkXJgI zBTJ5gL~C z17fI1hEC>-RZ5K`M(hsm=jsL}S9MMf|1aEGypVkg`DX^esz9pzb%7v{O373s9w`)Z zPEeoggEmv3%FXqWKvj%g2ieLTm*xt=j~UpA!=kmkRA5UN{+jnnN7kC;a|?l*PLGb& zIcQ>MCr{QDUaf19?~)l+pcu3BMt`m=mi5cld{V!d;W9Dc+tn?K>zi` z`zMA=&@7hFf40Z?{v3?|j~M!08z2`jS&a0w{lwng~);@;$HYVkgaSdTX&pXqO!*83UyrKhlnp! zz%Ae@(s+I#>g4w%imk+KeG(u6Jq0|7E>Ve>!<{Omiz7ILo=olmmLM)@SiqnxlhHgpq7n~_BIZzt63L2FHik3;KKATT}9Niu7H8orG z^!JDpDVu%+k}HStN^@JE_YyLLW?zw?1K)k07i_km7bd!?>BazwxXb$f8yfPDm8A=L zXRLp)S3dav-u&}_Bkup6DgFzA{ZAW*s7)(jkE34y#*7iog@|T!*ARPMGd2kViCyhy zbNJhAK#fZ8fZ3Vo+{KDnqGhPhLhLDuq5RjF>X#bnGmp5~&QtQ>7vd}MQRd{8hh0_$ z$@QbSKcg(d+0UFAd$TOTl`sT^1sufJX0v&^t z`PZaNN;XzaJ;O!Xf!i&b)*hBM69X92p%g-s#$3eT`>#d=_XT&7W=`6hB+Ub@=0Y-3 zWZBge51sXO-LB-x4vME>zp)(+-gRk;_QkO6nuZ>TI;lU4#zOwu;EoVg%nzY}w?V2N zhUKHkeb`Py^STfv#M@CqF(6T=#&%L0Cu{G81uQ;kdkNomQ>d2Cyu($^I0)#6an*}g zTpO(E0zh4H^?32Jys@*$86X5J$fl1_uEs(J3m=0`fz8?@A4N0Fn~WZyhS*Erans`{ znF2PCNkwJ`xn#(dx%^h^^H7QiSm}6(me$6;@dL!Aa4U5lb_zuS$xi4vzbfKVc6qkPIvfwIzR{t^uptJsv= zLy-{=EGT>)@*i>dZt>8Jk_Y6iymDeuUGY=9oY)?w(b8F9a2oKJ3}U}xN6wOT7a>RC zWl1$|n^>6Bgq2bsn^b^5^2$DNeTS@nSnc($t*XGQKtQ7CnZ-P_*BRX!_8Z?h>AO~9 zqqn;Xw0wwXVDE$mqH3E301r%j<$&bD_+CZ;w*A{EX7DBQXc2Y)9vUH`gOl>k&%!i| z$;*kE?j-LtDMC|K7TNI<=}qAkD^fcd%O53uR)Hgy7+>Sx4&^PB28|P{Cv7xK@}E73 zpDpb!ARH-U-MP)3D`7W;+tTgHk2w1u9L^Xlc|CZn-Fxp?cq{5v_P9(pa0rgtv0 zxLvCpe*M|}buQI>W;XB#7W-FPYTB+}d&iZ;JPbV6*u^Im8n}ZIm+d>WZ0WvN4YHTP z96SF+Owj#Oi=W+fn$#l~^eXo1vSqQ`<*%$>Ep3h0gPFf~g1>C(YAD|5(GlG6Uc8+IKu&8kOVa%CAlqN^KslzSz-y>E9cr^@qTpL`F(cZ3F?#Ak12lK%xd^&n zfK=1z1G5u%(&A7+3E$HI0B7E-c32eZwnm()h5!zN3KTFFDdzSB#<46c?=DHZ^a}`J*4v5)O@2ULGSHMQ2C4YjQT_14H-k{daF+&TEBQj!l4aR zFap;_;{`t4(%Ih=ue*r6h3CP@=s$=o6G^i9 z0Ce@@YbeMT?oTdSA>pMqEor-T`O*f`IE>ozWRu#bAEUP0qmzCrZqWLw89_IEo>S5DBd(0@phF(Kg!1({aF7-4E^*m- z7DSbUsDg_Ks64PbBYV@c(ZVm3G2=I5eIgcnWPq>><6ByQOi+MKnpvPWlc(~nJv93m zKmh%0snc2t{``_YGjRX2YXb7PIxu}D3=|K*2dZfVZ&d)jE&W4@0)DVm-qdW%u z9ZG5=ZPms71}eOOz3i!kresUy!#XG}nIyguxYTa;ygOnHIQv^An&M2T!PgNVh0iK# z#Mz>b8VeXERgNR;d%&q^U(M(ea6W_pMlVV$W8^r zJPHr+9Wk!M#0d?8dLsQLi${K|muBYvIXyKyZ`nTLXKc6O#{_aI0^wTreap zN)ZbBX>u6)T^DV03;8h=$h%>h6X#|4D)Z*sf%s}jLH$&vVI{5ZDoNIF!QMyc0oj5H zY4V#mFE5M~Fv2X_HL-u}6a0{@SY6&eu{a^~i-BAmjtW)s1aFKmGi%-kpH1m%KhgiQ zJS<$lb?^QuT6~E9-{s-|;amT+bg9;qipClBsPUDRn>7lX^ogHLX-c&iHqw$JW5XcN zH_`G|S1dyms-Y;eDQ4zc=DIMDd#>v+OXK>DYOTbE)W@Ws>pf?%@(XB&^j9v-L9);c zFN^oRguk7DKYuvw_qX1kdtKtNi@eIt%8JVGw=+L)zehG|)U5s;u5X{Z@7d1i&)DhD zQ+sdV*cW07_I=5|j>tl16)}|?UD&3Ys}tvH&`_hfb!TbzbAfy-4zy-WfqE-0*Ol5O zS}v0gwjjyYGv&RGzH0qqEhkH;`{;QNyGLb*nR}vEKK+@ERt);vJMieV+=>~_Efsgv ztBT*B%1&%;uDQ!!>)oZ0+OLxVt+94IbRx z-QC^YB{&3k4Z%IQy9EjE?(WXV``tT}Oy<2ay=tvq{m1^*sj6PP`|PvN^N7G*$XoRV zWLHclP(SyQPuK4%OOGhS0bi$p0&xK0tMUVXY#(;E@ycQ6WOE0$fVH_G&XBgbLe2oR zj?&nDcT247Y#OwD#?7!+h`uu4DaV&#YZtfVto5*PnK)di^AOx+(keEEq5ce9d-Rl} z;c*NOX#h~w_tvuFi_@q$3ia7+{sFM1Uu+uIG{)om}ZkwZkYy)hs0_5?iGH2f!~eG1vrqZK@4{I-yXbo>RMQ>l2T1uZd-DZp`=NRtbTY#B z8!I9tNquIi+x@U#`h>wToGESc!+o-xJe3){G7j!KlGK%Fm9)$K-8He3z8aLUV!r4( z&w|MHga2f9-0}S^CEE%`-75kE*@sif zW=zTUObl_+4qw_D;s*S4K^TEZ@;tJ+zYnq;z&RXwHtM&&B)%VCFk z?-KEjOL$L=q+20hT?A|Q_Th?X49(D)s6OR@y(GlAZ*x-;O8}w_!3@zaXueUMv6ine z=x70yF|wOv&B5z%Ca9iMIU{#9OKn?O$w{`W&5o95NuEbt<^4Jutv3ZbNMRtEjv9Fl z5}y>|tVCNQJ&Xp0nPR-)hskd~7fgR5+GRNsro<;&EUipsaEcja1RapW%YoaRs z7?s3Sq%YEL;>rYo&V&w#Q zNTR+I&^L#aBNZWS9wG^MYMaa63!OMbGCh4F>wHd})1PbtoT`3?r9E5Z{9sCXzoM?) z&jG3;0hy;I+VgZ|RRNw~27I^Z?D7@;4YN)S$Fdq;qwK?s!HIWN9p(?i53JZ=W!rY& zNH%Q|bFjyJCG3Yl-|$9O7^o{6qrqhqyx<~KtN7f++4|V3?#a;$zDyNHs1CrN_9IX5 z0{ZR{%MaBs8rDTU8mqsBVm6@T-p$XIN3k#hBTP;@vVEYFz~QijAD^a@-vbkRd!V=K zE@Z_BiYKb8V8M>^fQD9^KlZ3dU#tK~H4v;jFE|t2rTbeUEztsuwzmrh+!$5)1A=t8 z$cBZo0CG7QLT3J>7Pn-Q4N|2>3o3CM7*HQ1qAgJz7G60S^e1>Zuo~ zM(vZ8KhIdeC261F(%7Poo-lt?^GaF{5YI7p2 z?mV8~p&sB{@!UzLD=4h$fIl3OPLgX`N7IQ#;A?|@Zs1I=p{(Or+@+jzWH)fp6=)i` z8^2;28WExIgu?#R)yoFKJq~+A`y>ETldA2DUe4L{$;fQ)bZ;=;G71>6 z=DgFEq>$yO^Fi?*lzB7o9RA&xhev?jhgKV>{jr9!F6WL0D_nfM;H#UXkMPxT44lKI zeU4Qn+0!<|&sL`N0KbG?yx#Sq>;kmZo%RLTbn6_EndMIH!+4c-{Lg8v&MKQpVF8_6 zqMhXV`5m}Qn%+pFn>({TCiA!VIUvj1J0>(22wiMfZAyWDL^TQO15on5;)^d=YOQ|Y z7TK_r*ok?|n_!yZHRoU{0`g^=y83Fs(|4hR=D0ULlz&YblWcog|w(~RMl)=TNu`c`5Pt^_ zCt7Mt%ZFxZmJ|x80Luwj5C=N*&zH#J56p{<>e#9kQHq7;(&UQhinh|y9M7L(KDJdg z5x5cLu{DbPa0y@DIzuT9i_@28`CO@Vz?T-IRZGrM#Q9B3ww6XT-JaczdlkQnJvLGt zpvv5%G#F<#6&Kr*GM!7pBr_BF1S-vshjCXu-(%2v>Fg+>DUlkN+wI4D{bM4@G#pmI z@f&I*!Isb~nlY<6y4WrHXYH*4`#|~eY;P%W8kQ>D4}D1-&2!*z}v?#CgffD*usfXjG}DI$ErLI%gziu zdXH9xZHe*n9T!x5Jv>#mw}zg-bw&mLvaIR@e)kq!i8IYyV7l`2^oG!aU*~1`bUU?< zl?w&9jE~b_+6T6J&9+HBw3T}$)iP{vPnRAv0=&Z3&b9*~f#9%+@?4q;7Yj^5k%#&K z2V&02*v50TdXjALRQ>dzY!sA7lwFSh4K8<;aHrNk-#Sox(QX|-?GbVWvy492tn0R4 z$U1PRE9=tYyV#7J*QDS>*sLitt-oM1aD^Gc*Dop>Pp1Xa$Mh8x3p14qL9OM|+ZjSh z!OQL$3+r?#%Yk1k$mkHn&6x0{XN{`~EQiENIj4`l1sI`1EMs99Pm{wl*VL>~F^>#X zS3q(2xyKE8-CnrXT)-5C-^Uy;22@)ck#9Aip<5gWr%e@vBzIv_2bQZq5U3lVo=Vvv z@(A1_0-}XOcc6ic;|rMnlm|Z8VNh!J*!_#s)*DWa!5#a)Ug6=CN@fr21)PAM%he zs1%cIcG@EM91?Y>XopPr{GfGDB~cyg7hQgwOe-7OIovtbo}cyY9+>Z0akq!@5{v25 zm}OBQs$I@d%A$MDM1%?Be~+}@2m!%f!mF%KA>r%l&V6T`?&3hUH4$)jwheJUcE77W z#l@STC=}TN0c3$`iGk8-a)kf_%uV;YwZP2=+7ZGy*Zpv%z0y91gZN2iqV#bHxaPDyEn6Sw;_@&IZ@djaxwJTn6bTPf@+~Cj%E{( zdEIi5V|1`%pc)$kn(N(Wb60|BS@R)CFcjouM!}Vg2NNN60WoJr=|&DXNFAEcXNUpO zs`N5RvanU(c3ooAI@f`_sCe}x<`f#fI$WL^F!s(GARCKI_Gcah%KOuKXJOa<{1ii8 z^RQNX5rRQiDV!bPC+?q(*~-B0YA)c!+WF>|^qC`ehU!`x4tVwekS4=oBEa>D1msx> z{7@MaJ%^WnXhy$FH3WjM#8@Pkg1(y+VxR$)^Qla0Y=z-l^0#tzxzcx~i z_GYXRt15SUA;rRQs)_rAf44yZ`zFl|FWU<=qGJGr_c&};tpaij!(h3{j+BjLb$HCq zhuL6Zme8j6EyWmhP@xQOq>4Jpq+FdmbL5;xL-qm(p&eR=#L^lX zzIS3wul;Qw5^^l-wp}rHp9~zkXvfLP?ThvUFCeJIk+Jl2GD{{S^De!b0`a{|Zi_xF zfrx8n$n5?=$7kCw=<8CHz=JS~_9C7euN)7^#pHYf{q`4~5D^RQ+7efc{c3`%jA)|I_;YXDLA1Zdt^opO>Kn zS00s2zAow3f-P$-e2QG%^vj^e0J5>CU<}%q@2>JL>l+{0L4tur;9#kw;W86;3Tia# zi^seXdh!*-cajuK6qERZW#PD>r^m!JGAPZm6JcXVkgCF)i`*=P0`l-mGXZtYRwl z%B>o99BYGeRaOaXNjv*Ax5D!Eglg?ZKpJ)X4$ ziOSbR&u@w7s3gv1kqOK@eNd3H_+>5@ z00H(a3?cqQciTMFp#dY!!0ly)GMHKulT`sHz=rLvRUBT{R5WNX>5suI%>nrUa3*J z!iH3#M@vhM&|KjIYysj)F0#Iv3Y#5-7-U&m&rP_P`>MMPU}CszFW zGvN(e7&MKwqsb_*1HP|_5?-B5%C3=->$AD_4=Isx_%v7vKNJpyGn(wOJs;nKfbjt{ z$hd>gg6)H5aX4$fKmxfmNG9?9%eIFO#uKV{dXt-9zzI-<@VST2z2U_*gR^Vb%`YKM z3s^QN_oiMsPz{WxR~tCMLhUeWL0<- z^0-3cHO6^ViK2^#&qXZqnI$AKJ90!HqzF_e@VpA1!ICbg??=OiFTFIIv}r4VOH|X6CV!itR3H$5JifBk zuRJ5hlqxotT+9UnZ_~Kr$POJCk;A1DCjH5`qRi(Z*ai}3)yP`vX8wrh3{MKq;>HX* z1a?w{xGr*tr2i`Q05G=7q5_@>nGO&Jb^!Xw4+*s*Z4CkQf*S@(Icjxbod8Ed>u+u* zdNB)mc1A93YJl+US&(OA0#)%b#tpF=jA0HEne=)h=Kd^KhUr>;$}0(b_)N|&KwW7l z9%u1z4nmE$^K7vU-DK7pBC!7>1g~hVz0<0y@IqW;2`?9G}JRIHm#jv*1JW6LQ zRANztPqNP3^N!s+xgm*kRJqTFa`1-HeWZs3;F|Q!x9IouNWdp8i-b}K9kIgK#y_Ck z7wWX{Vn**IZ0yM$feZ)@t##6cZGlG@GlTxTvIEqYz(oM> z=)3C&U-Kb|!;T+-k?BT2`_|YGdnhkT?)ugEL+>r-t<~tvh8RXwMZ~iW%aLXP7}#p$ zD7?j-g0UC0#;jPLbE5`%k(;|IT!*MViViF(o=MD@?+4&NGh_V%)&cTLS(+~5%bli(l9ZvMe@ z_ksZWCX}Gico}_B6T%2nLrXZ7l8zkF!*hCw?^f*jbk;g|x%#5#`j#2m!qxqQitP~3 zQE#)euXTm^;{cf_emjH`9GE9TE&K;pU6G zM8!q9IX@50_n$dCCFO#(L13JCfJG1WL$Wo;d}MmpQ9!ufv;=^-yKaL`B7(-@R4Dc1n_>%F5#6YK4E>N zwzT@$530j;H*_RtD|w4wJo-u&yj16;gfB^-yhkfzc@Lv*kLcVm=+Hpeur&P4cM8#K zk~K#d(6zu&hvHW{9&KL7CgncfSLNS<6YzjNwF`b3!nR17iANO6B zw6GZ3`ib@J6_ zws}%|Q9JlE{BXfd_SIC6dCaHy3*PsYhVj-wp`4DEGAW=KVsS0N$0ZgHs;Po_*lH^q zg+FX>S$%qv+IdUR=3;QcY7)C(_00X+DyNt_T}7=XVBI)5R3~bJDXNLWeJ(hi5+jTg zQ4#OxJq(~xEa0CuN$Ccar@r_9CKU&w*ZEu>KcLoqWJ~FuCr8yU+6YsN@@P$`xTqn3 z#L&I6u;r!dCxYw}vi*=4oqG?dRR`yQn6&%t=rAPYA{TZtucW->egugDG&5MMp0CrD zX*|^;9vuJRZgSi#rFb}jR{<;Y7e5JzHNtPQyrXu|@fo zZDXzdi0>1AklU_hjuV3Qs*P>*pUdC=Xmdu=y*% zO^xv0;lL2!JO*xUa;H<uuNqDf%V4)k zmybuaOe8eVa_}6)y1coiII@1ytXL-|4p&v6H&uyEvj`thuXw z2fv3$MVH)QgBGO^^qmFb0@?Q!Ni)G16O>^Z*o_kKkM`#9N3YQU)o;%`3`{Ho%(Cu>H~R za{Gtl&OA3Q4Y!0P*wLf85=3;3Y@P?b^%5LKA-by@mXxM`3bIFC3HnWYsb0g8DG-SK zC=wa*x?6;%R1eOyo{XDa=EOb(@dW0lAUcr3m@_&8`^f|q?EK-!2)X9_GE0Y;jAJmb zg8?82EU)12+gwfEyu15+q2rgG!izEj#h4*l-D+%3A=Md;a)5=#K=bInkQ$7Jd2YS3 zq{7+Al|0@`>Lu~^Vz(k`qLwb5PaW($2BP$AdDd*6@N9b^{SgQ05_|{2cPu#l$)Sz~ zn;qA~OXnVuO)Q2lgXP!W!}F?|!#fe-t!s%D%4}HNj?Gr473d1xLJ+0^TsQXXbwzZY zr8g94^)C zU)Q#EW?~B2$*3Lxzv?>3jeSyG3I^>0;6Okqflo=f>C+q9+L)M|(wSQ6 z8yTNyjl^%VqORPjvg=5ZB{F55W*tb}04b(QaH@}5=%_abc~>h#4aFIC>N1Wz>$a2D zzc= zY>W39!^8wl49=U_Jo;K=K{G03uF=;e=fMcW1h)9H)H3B-FEK&0`5-4d?cP2UW?KNF z$dV9|k8vDn-ZaSGC<_tS|8&QODVF-~g(2pyBM<#$TJYfi3nlA{WPb#W}NE&BQ zW?GapSd#sWWEY`FR9>0Q!=tj4cZ3c@qm4o{1tS?+4O5Fb*(tY5MBW=KGzyk`Fvh{p1;6YLCJ?9o-eh<|WMBS~LdxzPR6bsIls2lN z>UOCurY_y4*&=jxWIR8y-yR2P;)4e^lfT*ik2B)972#7%=)@2@-z!8SJdQ8Uy@-6B z*)0nehpjqcO6N>PL4zJDa_9_fpoF4>FsoXoDxLlesA>$rS*&F2W+)&p;fK)txP;I; zI!GBgf?q)Eqas_&W}yTYU!K^UZ`=yi`#Gu5^d)=D>c%waNG&;944Zpfci897mX2C| zKoi1mooutlrUITzBz`!u@{%f0vo@Tq5T|gS7odmc6AZ`o=nwJ>&DpIvobx}}Zh$ig zK{K`zlaPKI!i-~QC8;A+K!zECDy!GvF#g%RRGhGY69147+Jw$t5JpQYP-Q?~RW8<* z0Ccu+7($zJgKE3F+4RKgN-*N1)Ay}y6m&(`N4e7FVV_SEv+3edIASGy=_39W{A9Bv z>THa#unF!g6L^q@cnwY`_;SV8oRxL6vZ?(zH=VcM$H?A9NyvxOXl?YZSW7?Q*mvnHCvv~Br}<}#=zwS%Zc%5L&`=BjLWPo<&lirtR#@p(LLaZgm`WFe(0 zUcO}-6W9|T2~r%A&o7+UDPQNEFMT*Qc5Uc8@ zj*N69yOCwOMeQHbaZfLKaBn1#DUjuxlZVEJsU8hsCyB<-(|pwFphRY(_`DQ9cpw3g zOs`K21{^_F5X%ZX_fIH()L74icN-_SjC0jLDN)|$_bX()W+MJ@D-+s=mS4Z#vhIT$ z%9!rQ_zc7J0Z4XXLW5BY&{fM)FiM13Ma3;Ln>=Zbvw=yZgsSkhNYL2gfB5wC17UQcb5XeU21O)&y+T-mRcoPfG(w#1)^sd?uV5UKcib zeOK47ySOwc)OM=z8dSWoX9IqxP4LMaah)!S>o>pS{Hh?a_taB`lMZ>1a6hc+niO z|9C{1MpYs+3U#X}S(DO<8@9zk-aWCLLnBG`x24y>TlkO{yjJ_w@uCa zbZJ4No^_WNf=*FVJ~a1)#8_M(AFU-%sMZHSrOf&`T!E{ANm$$~aU3OHTxV8GR zS>3yF2^a8*TrY;_YFn?A^%$?_o9UH5jRQyam*XwVmd1AQeCyPiHqi;pum&Np&}saY zS#N0}F|64y=4JN9kCeUlN_M=Awkp9^aD<$F0p%w{$Zgr5_-D3k4jzqKF} z#SrgT2hB_pH8I4KP(#IwF|yVv${EebzM?h?SH;dIukozREg7uu{v-8{sRbKHn(0xV zfuR_P5u1QWI#VYHO?W3N4RhJi;8sWFze9; zt>S)MOC5-OEjAEIlrMoZuz+P2#0*}6xk)UkFdweXMrh@FDkyS+2WqQwwG~$A-&}R3 zqE*?0%ID4=(|XUmWh!e7?b^MQc^C#*WLrW&x-+p#6|+BMp@jrpz0p4((>j=nePeQZ zN)LrP7%H?P2?5H34aEL-xx6rvQ`hVyv^j zVEAA^Ef|dn$Wl0}3iNqydGt_*y6nZSb#?@JxS?E@ccCeT2Ac^4gx| zikyWRAis09J?f%vGs{iC$1RIdGvYRo3_ zo{OK+bH5@>W37h0mVtPUWq~asvLqpeJW;;wd$AMXCd~Zjq2=nT<+A3){hNP^wN1tG zn#jIQMZ&Vyr1lCsLIKauvBZ^-Q}6pm;mDNvF14Y# zI*}<;mVEe3Y3dua#1lym@F|2a9X{4ZVzTn1z+`U;1dEA$sI2k-Xq0F{CxFi4}am+USsz*{7Y@61_(F7;I#E1|y~c!%p;T%tQl`qQI?# zb+sx@ND;Wtq71XGcW!+sYqMj0V}5xmpFDFl&rEsgc-DxNqU`PQ!PvG8F4(D0cY6wL zl{kHGyxdfKyL$#8K^x9_QQm&rpjBLvswA&FK0plW~*OSnv6>;+IqXJXn}^~A?PSnJERB=iOmW020>5}*5Ce|c2r-qxvW zo^Sg24d3d_!Gzs$cU1V4cL9q`#Kpkw2O@;k%rMtN#EmHv(nUFzjD9AT3lrsc+_*H(>`^Wojx97>wcU>nQZrrH-{o{ZT zC!SVJ0s^fpSo;0v%gtviCrp&6M%PG40Kz&aTobSpm8+DPX7DT0LY)ixa!i4 zjUkS(+auwX6lGv47AydN0gumQtz230Qx&3YB7WpD$*AS#zPbvYPG#|pbAzwV0Qs*x zl17HxIbac@2H{811+!n{Jj=_k7SBS30^3$rx_+*h2Cm?1M~5i44uq?vgoIAx0Hk^m$Uj=;1!XcZcpja7>hPitz2pxINGj$mJ?c-3^l2vPM#K2Qg` zluR077oBgD*-SvD_24(sG;Jxn(adQ=asjU8>S)^3?2XNt%__|y3@sP&g#iHZgO2ia zzQjR3M1=O4dg+hg>mys46fc>X^&;LsP?N9Y;cd0G3@{#e<0^!`f(SNRMRfxxpu@JL zve>O}&C^PIpD;I0lt!BqrN~0r5|xvTYr>L3fi0~&HRk=&TN@mAxf}=^oTPL z&Zx69BRQ`>Qn8|?x8gV^FdT&hV4`*S3ri{CXM^j^-$_+tu_2*iM_HP5LeVLX;3WhA z*L`8xx7CgVUX%H-umJD7C!ISF0-R{-w)rr$%pugup;ele()?=j;$eE-b%z0qlVQH9?Y~&vV*T@& z%fY7d5>_x-7kb$Ov8#dN%@R=y@MHR{Q79#NYcEBMa36F!>EBv4Y86Ht-x~tpc=Yew0x2v54 zD9D|solnpmYz3!S)HA_5bJcDyfThTmQU|T_T&pWEmyfJluIR9isDf8A#9wT(->$M#3mTh-i4yVaJ%l-p zdU=Qsn>ldLQp&x1njS@_KDgI{12A6)Qa_sf2qs;>b zX5q(SMarz%c;7O++e)~;*nEY$q0sS(MH)(5QLLYWjmWzvAZk>T4N0lJ7*MMPle`o8 z$COjo#FVdlew*pLXf8;Qb8N@<7**1#+e8M?a>S3WdwDOS!-9q}hGdo(m$&H` z>z1x5mTIzY#gt}vO3I~)GhRUIuif#C(3nA>L9#|v}@0ke>xe&rs= zc|!zS-4e@LUyG-j&@n;h_3W{`p9O$~W)gBd!ov(-Uy*4LP;8PrBG6o=b_MPjSoMX)MU~(>X~m8C8#|)RkzstyI_a8O z+6!nAOGGzb+}IkVUPt`kVB3MR{*i~p_qFV5{&1z>`e+De&fn1`iEY_SY}IJDr@3$6 zgU~{xmEa=GeZPN8s#8{bmWHL5Lq4L$Y|GsWXF!b|Lyco;u4bn*3Dtzq*XBc!q9{yb zo`Yx|0bCi3mE%guS)~1H^*OpiZF3-gc@}&HoN-&H>i4XhUzT;mhQCdeRL`_mz;{^vtH&6>dO6B5bXoTiMf(tBBMK*3O;)wEw;k9noM6NEK<0@Xa0l<^s+;MCFUcV# z8tKF5Z;a*mN)^BH-6$#qi=09~GVRRUAAm&LDr^V!*t=8l7P>XtefM(_uAh~YJY>0x zqzn77(pC6jYkehhV$o3w74hxC=W?J3Ii_viSKV`SJ+WBN$~q{|~^rcPB+5%pS(t-BsH^`=CqDyuI|) z#C`^jBY4&f;I!=T3~QK9QE0(xSJ7+D(+yh1e>E*+*=*mthQIF3ScQ4DCcloGH8%H- z3ZjG2$xNPNx%5;xq{#D4H$QpiY|Xv7q07mv5HVfmV@$f4(?k>nc$p?Ho|V6g zJf<$oMCJ#+<^8VwDqEbYq%||P2zbvfV(;07;J;;;_mYJ=|CdEp)b_JVJMY1|pVe?y zHR)u0UsG96azk;Mnmmji^p%2kB$(D;A9)t4{65UG8ZmRFE>~Ui9C&AEt$yjd?f1VHg+lOShtsS5MHj=c6jO!*Hp5N$SW_R!}}D_%Hs` z!GZZb(}kpPdjY${nck#YU8M6k^Cu)khOtDPxfrKb>}IudQjT_bAH+-8CrLNw)qrH~ z)RCLP4!lZ$V3n5CXpm5B{M<{^8Aru`+^mjIrn`tnz;=U&pZ%cj!UpP#PdIP0(W2b0 zCo~`B&zm=QD{)m*2jgPUX24gqj0kkw*_+lDHE7YqT(a$#F?Y+h)d|B8E$KbLCWxV(^+VAO;F$0N4jYEiCOgJ6qv zYB(^gH*YOe2TjAGYv|L`R5m!dSGUS2p3DR*|o`P7mSD!5QO z$Ca)*u8GTOvhpZ`)ixb9r7>5Q6RGFcb^uECD0nM=U_bC$O;#Eih)wYQcuX4Kbc=94 z5rhCzY-H_Tk$h|8lfcmz_&6fb#1Rgk{hj;MjZ^(l7I-2vGKKzO=%_nqFCkL(TH~S9(+wXxJy#3% zOE#gnZ`ea~=?;0#s0i((OcKv%k)n4!T^xn4pd4Z18YqmNTJPNJ51`?6WHRn}ieAe+mtCOAfjgpwdp!NsR z1l1WRE%F0c6pHJoTprZ)9M=y3hkX8M^9f#DGRwSWs3*1D=PW4KNTjR*8m>Y&8TJHqb=la3bp6vP9`H`yHRz(=v`Gv>1L$_7u3wNs$Q zBQvKiXjJcowh93c)~-91;+JKQl2Q4+Ttj5s7s>1Q$|o=gD(L_1R{ow${{O4M|F5@y zT3-LdyZra?zl2r(^vM37U?89Z|DpGF&VPpg=9v9E;qM%#e-XysS4sa#_&dMpKT&_$ zP5(jx-Zka^iTcxg`ghFVxkUfMr2mfjhiCNf;eTDwpDxh9!XJMR{})f_-x+`1);~R< ze=+#pv;IG?@QIDyPD3Qpnn?0{*L)O z*U4X)%y;?nf5-fP56a&me`oLX3*wIU?~s3*J^haPJJIxC7>oD+>3@#p9}?=nQ~pk< z@E7G1{l8QGAzS!6<*r-0cnip9I0*`H(iU8Lxrmfru`An@l2{#2Lxbpkrp|9pbK z)tdSf|EH|dFMI;qf5X2& Date: Thu, 25 Jul 2024 03:09:30 +0200 Subject: [PATCH 46/53] version bump --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 0bc0329..4330c10 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ # # setup.py # -# Copyright (C) 2013-2022 Ștefan Talpalaru +# Copyright (C) 2013-2024 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -45,7 +45,7 @@ __plugin_name__ = "DefaultTrackers" __author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" -__version__ = "0.5" +__version__ = "0.6" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" __description__ = "Add a list of default trackers to all the public torrents" From 74447da6edf559547c7ccc7de87978368e8b8105 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Thu, 25 Jul 2024 03:10:35 +0200 Subject: [PATCH 47/53] forgot the egg --- egg/DefaultTrackers-0.5-py3.12.egg | Bin 0 -> 40478 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 egg/DefaultTrackers-0.5-py3.12.egg diff --git a/egg/DefaultTrackers-0.5-py3.12.egg b/egg/DefaultTrackers-0.5-py3.12.egg new file mode 100644 index 0000000000000000000000000000000000000000..de5f051f715a0f94ae07ad0025cecafe31b404b1 GIT binary patch literal 40478 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%0A$e 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 literal 0 HcmV?d00001 From e68629d480b6a8b97f6d38d0c4afe941d8391eba Mon Sep 17 00:00:00 2001 From: Luan Freitas Date: Sun, 29 Dec 2024 02:23:04 -0300 Subject: [PATCH 48/53] feat: allow multiple dynamic trackerlists Loop through every url of dynamic trackerlist separated by break-line (\n) --- defaulttrackers/core.py | 31 +++++++++++++++-------------- egg/DefaultTrackers-0.6-py3.12.egg | Bin 0 -> 40406 bytes 2 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 egg/DefaultTrackers-0.6-py3.12.egg diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 8f41691..6e3192f 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -86,27 +86,28 @@ def update_trackerlist_from_url(self): now = datetime.datetime.utcnow() last_update = datetime.datetime.utcfromtimestamp(self.config["last_dynamic_trackers_update"]) if now - last_update > datetime.timedelta(days=self.config["dynamic_trackers_update_interval"]): + combined_trackers = [] try: - headers = { + for url_line in self.config["dynamic_trackerlist_url"].splitlines(): + url_line = url_line.strip() + if not url_line: + continue + headers = { 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', 'Accept-Encoding': 'none', 'Accept-Language': 'en-US,en;q=0.8', - } - - req = urllib.request.Request(self.config["dynamic_trackerlist_url"], headers=headers) - try: - page = urllib.request.urlopen(req, context=ssl._create_unverified_context()).read() - except: - # maybe an older Python version without a "context" argument - page = urllib.request.urlopen(req).read() - new_trackers = [decode_bytes(url) for url in re.findall(rb'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(url))] - if new_trackers: - # replace all existing trackers - self.config["trackers"] = [] - for new_tracker in new_trackers: - self.config["trackers"].append({"url": new_tracker}) + } + req = urllib.request.Request(url_line, headers=headers) + try: + page = urllib.request.urlopen(req, context=ssl._create_unverified_context()).read() + except: + page = urllib.request.urlopen(req).read() + found = [decode_bytes(u) for u in re.findall(rb'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(u))] + combined_trackers.extend(found) + if combined_trackers: + self.config["trackers"] = [{"url": t} for t in combined_trackers] self.config["last_dynamic_trackers_update"] = time.mktime(now.timetuple()) except: traceback.print_exc() diff --git a/egg/DefaultTrackers-0.6-py3.12.egg b/egg/DefaultTrackers-0.6-py3.12.egg new file mode 100644 index 0000000000000000000000000000000000000000..bf1515690eb7cfb4a1dc36da4b21b1622638dac1 GIT binary patch literal 40406 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 Date: Sun, 29 Dec 2024 03:03:54 -0300 Subject: [PATCH 49/53] feat: button to apply trackers to existing --- defaulttrackers/core.py | 8 ++++++++ defaulttrackers/data/defaulttrackers.js | 21 +++++++++++++++++++++ egg/DefaultTrackers-0.6-py3.12.egg | Bin 0 -> 40653 bytes 3 files changed, 29 insertions(+) create mode 100644 egg/DefaultTrackers-0.6-py3.12.egg diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 8f41691..e077aba 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -143,3 +143,11 @@ def get_config(self): """Returns the config dictionary""" return self.config.config + @export + def apply_existing(self): + """Apply trackerlist to existings torrents""" + + for torrent_id in component.get("TorrentManager").torrents: + self.on_torrent_added(torrent_id) + return True + diff --git a/defaulttrackers/data/defaulttrackers.js b/defaulttrackers/data/defaulttrackers.js index 0df6ce6..3ab7587 100644 --- a/defaulttrackers/data/defaulttrackers.js +++ b/defaulttrackers/data/defaulttrackers.js @@ -85,6 +85,19 @@ DefaultTrackersPanel = Ext.extend(Ext.form.FormPanel, { autoWidth: true, })); + var applyExisting = this.add({ + fieldLabel: _(''), + name: 'trackers_apply', + xtype: 'container', + layout: 'hbox', + items: [{ + xtype: 'button', + text: 'Apply Existing Torrents', + }] + }); + + applyExisting.getComponent(0).setHandler(this.onApplyExisting, this); + deluge.preferences.on('show', this.onPreferencesShow, this); }, @@ -119,6 +132,14 @@ DefaultTrackersPanel = Ext.extend(Ext.form.FormPanel, { onSetConfig: function() { this.opts.commit(); }, + onApplyExisting: function() { + deluge.client.defaulttrackers.apply_existing({ + success: function() { + Ext.Msg.alert('Success', 'Default trackers applied to existing torrents'); + }, + scope: this, + }); + } }); DefaultTrackersPlugin = Ext.extend(Deluge.Plugin, { diff --git a/egg/DefaultTrackers-0.6-py3.12.egg b/egg/DefaultTrackers-0.6-py3.12.egg new file mode 100644 index 0000000000000000000000000000000000000000..928c8bf40ed70ca79800b783b80f05e7a23da970 GIT binary patch literal 40653 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 z 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 Date: Sun, 29 Dec 2024 14:45:25 +0100 Subject: [PATCH 50/53] dynamic tracker lists: Gtk support + refactoring We now avoid duplicate trackers, when using multiple lists. The new Gtk text entry widget - one that supports multiple lines - has a different API, because of course it does... --- defaulttrackers/core.py | 32 ++++++++++++++++++----------- defaulttrackers/data/config.glade | 7 +------ defaulttrackers/data/config.ui | 7 +------ defaulttrackers/gtk3ui.py | 7 +++++-- defaulttrackers/gtkui.py | 7 +++++-- egg/DefaultTrackers-0.6-py3.12.egg | Bin 40406 -> 0 bytes 6 files changed, 32 insertions(+), 28 deletions(-) delete mode 100644 egg/DefaultTrackers-0.6-py3.12.egg diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 6e3192f..41b4b60 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -86,28 +86,36 @@ def update_trackerlist_from_url(self): now = datetime.datetime.utcnow() last_update = datetime.datetime.utcfromtimestamp(self.config["last_dynamic_trackers_update"]) if now - last_update > datetime.timedelta(days=self.config["dynamic_trackers_update_interval"]): - combined_trackers = [] + new_trackers = [] + seen_trackers = set() + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', + 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', + 'Accept-Encoding': 'none', + 'Accept-Language': 'en-US,en;q=0.8', + } try: for url_line in self.config["dynamic_trackerlist_url"].splitlines(): url_line = url_line.strip() if not url_line: continue - headers = { - 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0', - 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', - 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', - 'Accept-Encoding': 'none', - 'Accept-Language': 'en-US,en;q=0.8', - } req = urllib.request.Request(url_line, headers=headers) try: page = urllib.request.urlopen(req, context=ssl._create_unverified_context()).read() except: + # maybe an older Python version without a "context" argument page = urllib.request.urlopen(req).read() - found = [decode_bytes(u) for u in re.findall(rb'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(u))] - combined_trackers.extend(found) - if combined_trackers: - self.config["trackers"] = [{"url": t} for t in combined_trackers] + # we need to avoid duplicates here + for new_tracker in [decode_bytes(u) for u in re.findall(rb'\w+://[\w\-.:/]+', page) if is_url(decode_bytes(u))]: + if new_tracker not in seen_trackers: + seen_trackers.add(new_tracker) + new_trackers.append(new_tracker) + + if new_trackers: + # replace all existing trackers + self.config["trackers"] = [{"url": t} for t in new_trackers] + self.config["last_dynamic_trackers_update"] = time.mktime(now.timetuple()) except: traceback.print_exc() diff --git a/defaulttrackers/data/config.glade b/defaulttrackers/data/config.glade index 1a580fd..0629e10 100644 --- a/defaulttrackers/data/config.glade +++ b/defaulttrackers/data/config.glade @@ -40,14 +40,9 @@ - + True True - - False - False - True - True True diff --git a/defaulttrackers/data/config.ui b/defaulttrackers/data/config.ui index fd13d31..f2f1eda 100644 --- a/defaulttrackers/data/config.ui +++ b/defaulttrackers/data/config.ui @@ -40,14 +40,9 @@ - + True True - - False - False - True - True True diff --git a/defaulttrackers/gtk3ui.py b/defaulttrackers/gtk3ui.py index 00f77fd..b40bb2c 100644 --- a/defaulttrackers/gtk3ui.py +++ b/defaulttrackers/gtk3ui.py @@ -181,9 +181,12 @@ def on_apply_prefs(self): update_interval = int(self.builder.get_object("tracker_list_update_interval").get_text() or 1) except: update_interval = 1 + tracker_list_buffer = self.builder.get_object("tracker_list_url").get_buffer() + start_iter, end_iter = tracker_list_buffer.get_bounds() + tracker_list_text = tracker_list_buffer.get_text(start_iter, end_iter, False) self.config.update({ "trackers": [{"url": str(row[0])} for row in self.store], - "dynamic_trackerlist_url": self.builder.get_object("tracker_list_url").get_text(), + "dynamic_trackerlist_url": tracker_list_text, "dynamic_trackers_update_interval": update_interval, }) client.defaulttrackers.set_config(self.config) @@ -196,7 +199,7 @@ def cb_get_config(self, config): self.config = config # dynamic tracker list if config["dynamic_trackerlist_url"]: - self.builder.get_object("tracker_list_url").set_text(config["dynamic_trackerlist_url"]) + self.builder.get_object("tracker_list_url").get_buffer().set_text(config["dynamic_trackerlist_url"]) self.builder.get_object("tracker_list_update_interval").set_text(str(config["dynamic_trackers_update_interval"])) # trackers self.trackers = list(config["trackers"]) diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index cdc2da9..9e8bc49 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -178,9 +178,12 @@ def on_apply_prefs(self): update_interval = int(self.glade.get_widget("tracker_list_update_interval").get_text() or 1) except: update_interval = 1 + tracker_list_buffer = self.glade.get_widget("tracker_list_url").get_buffer() + start_iter, end_iter = tracker_list_buffer.get_bounds() + tracker_list_text = tracker_list_buffer.get_text(start_iter, end_iter, False) self.config.update({ "trackers": [{"url": str(row[0])} for row in self.store], - "dynamic_trackerlist_url": self.glade.get_widget("tracker_list_url").get_text(), + "dynamic_trackerlist_url": tracker_list_text, "dynamic_trackers_update_interval": update_interval, }) client.defaulttrackers.set_config(self.config) @@ -193,7 +196,7 @@ def cb_get_config(self, config): self.config = config # dynamic tracker list if config["dynamic_trackerlist_url"]: - self.glade.get_widget("tracker_list_url").set_text(config["dynamic_trackerlist_url"]) + self.glade.get_widget("tracker_list_url").get_buffer().set_text(config["dynamic_trackerlist_url"]) self.glade.get_widget("tracker_list_update_interval").set_text(str(config["dynamic_trackers_update_interval"])) # trackers self.trackers = list(config["trackers"]) diff --git a/egg/DefaultTrackers-0.6-py3.12.egg b/egg/DefaultTrackers-0.6-py3.12.egg deleted file mode 100644 index bf1515690eb7cfb4a1dc36da4b21b1622638dac1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40406 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 Date: Sun, 29 Dec 2024 15:15:14 +0100 Subject: [PATCH 51/53] WebUI: "apply to existing torrents" - light refactoring --- defaulttrackers/core.py | 6 +++--- defaulttrackers/data/defaulttrackers.js | 10 +++++----- egg/DefaultTrackers-0.6-py3.12.egg | Bin 40653 -> 0 bytes 3 files changed, 8 insertions(+), 8 deletions(-) delete mode 100644 egg/DefaultTrackers-0.6-py3.12.egg diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 599d9a8..7de57ec 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -153,9 +153,9 @@ def get_config(self): return self.config.config @export - def apply_existing(self): - """Apply trackerlist to existings torrents""" - + def apply_to_existing(self): + """Apply the tracker list to existings torrents""" + for torrent_id in component.get("TorrentManager").torrents: self.on_torrent_added(torrent_id) return True diff --git a/defaulttrackers/data/defaulttrackers.js b/defaulttrackers/data/defaulttrackers.js index 3ab7587..a7c5c00 100644 --- a/defaulttrackers/data/defaulttrackers.js +++ b/defaulttrackers/data/defaulttrackers.js @@ -85,18 +85,18 @@ DefaultTrackersPanel = Ext.extend(Ext.form.FormPanel, { autoWidth: true, })); - var applyExisting = this.add({ + var applyToExisting = this.add({ fieldLabel: _(''), name: 'trackers_apply', xtype: 'container', layout: 'hbox', items: [{ xtype: 'button', - text: 'Apply Existing Torrents', + text: 'Apply to existing torrents', }] }); - applyExisting.getComponent(0).setHandler(this.onApplyExisting, this); + applyToExisting.getComponent(0).setHandler(this.onApplyToExisting, this); deluge.preferences.on('show', this.onPreferencesShow, this); }, @@ -132,8 +132,8 @@ DefaultTrackersPanel = Ext.extend(Ext.form.FormPanel, { onSetConfig: function() { this.opts.commit(); }, - onApplyExisting: function() { - deluge.client.defaulttrackers.apply_existing({ + onApplyToExisting: function() { + deluge.client.defaulttrackers.apply_to_existing({ success: function() { Ext.Msg.alert('Success', 'Default trackers applied to existing torrents'); }, diff --git a/egg/DefaultTrackers-0.6-py3.12.egg b/egg/DefaultTrackers-0.6-py3.12.egg deleted file mode 100644 index 928c8bf40ed70ca79800b783b80f05e7a23da970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40653 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 z 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 Date: Sun, 29 Dec 2024 15:19:29 +0100 Subject: [PATCH 52/53] version 0.6 --- egg/DefaultTrackers-0.5-py3.12.egg | Bin 40478 -> 0 bytes egg/DefaultTrackers-0.6-py3.12.egg | Bin 0 -> 42949 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 egg/DefaultTrackers-0.5-py3.12.egg create mode 100644 egg/DefaultTrackers-0.6-py3.12.egg diff --git a/egg/DefaultTrackers-0.5-py3.12.egg b/egg/DefaultTrackers-0.5-py3.12.egg deleted file mode 100644 index de5f051f715a0f94ae07ad0025cecafe31b404b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40478 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%0A$e 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 diff --git a/egg/DefaultTrackers-0.6-py3.12.egg b/egg/DefaultTrackers-0.6-py3.12.egg new file mode 100644 index 0000000000000000000000000000000000000000..43a56c829a9454aae965c0968bfd13eea803ac3b GIT binary patch literal 42949 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 z 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 i|H}K_CHYU@m(+jZ{TMME{ErR Date: Sun, 29 Dec 2024 15:25:10 +0100 Subject: [PATCH 53/53] bump version --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 4330c10..1c41832 100644 --- a/setup.py +++ b/setup.py @@ -45,10 +45,10 @@ __plugin_name__ = "DefaultTrackers" __author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" -__version__ = "0.6" +__version__ = "0.7" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" -__description__ = "Add a list of default trackers to all the public torrents" +__description__ = "Add default trackers to all public torrents" __long_description__ = """ Create a list of default trackers that will be added to new public torrents (and old ones after restarting Deluge). The plugin will not duplicate existing

MF6hI){y?)BT33k|FrYcfN)z48DQ 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 Z!0rY9d4F4mAG8xlAj=NrCjO6h{~!O}2u%P0 From 7c6cea7915daf2e94870327451e2dd34996e21db Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sun, 21 Aug 2016 18:33:20 +0200 Subject: [PATCH 13/53] delete empty lines --- defaulttrackers/data/options.glade | 10 ---------- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19286 -> 19286 bytes 2 files changed, 10 deletions(-) diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index 988da2a..115bd36 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -68,25 +68,15 @@ <b>Examples:</b> udp://tracker.opentrackr.org:1337/announce - udp://tracker.openbittorrent.com:80 - udp://tracker.publicbt.com:80 - udp://tracker.istole.it:80 - udp://tracker.ccc.de:80 - http://tracker.coppersurfer.tk:6969 - udp://open.demonii.com:1337 - http://tracker.baravik.org:6970/announce - http://tracker2.wasabii.com.tw:6969/announce - udp://9.rarbg.me:2710/announce - True True diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 32afb2eefdfac9f46f63ce692f79e166e98223c2..d6320e7b2f1e0666a50affbedc4bc26c22995f26 100644 GIT binary patch delta 1224 zcmV;(1ULKEmI2n50g!0{`;lrf0sE1hJpucX+Kd7FlV<@%0sE5?M-!940rvs>v$z7g z0Rj87bOcBN0sFJP1uYE$`?Kp3ju!#@vwA8V0s;H8mn=dJ5%`l8NpIK7cOL`*0MZ%& z03wqSLKu^eN)3|_Iw*fi;=j+5(6=B{l$?xblA8$ZTkJk8--6Ka<1*vk9F%5KjQn1B z<9i^eOqfVV{=ZL;!F&JXxHC*SNg!atfSM2rc)*i8L#@21J#FvG$3j3PpF zVo1z!umoK0Nf9~&<^5v;40MyPOeTa^z@jnC1SX{5W*uk$U2~vi4$&0J_s5p7BY}TVw39UZb}!W zb!loY949gGXh}Hky+1xGqUT{{TbQ1bL@uJL6#cP~;&gwQN4&bZ{jCZh11##AU$TBY zQm5&IsQKcgtS7cLQ>C{A({({CAy?6Wex!|s1rGc4d z_^@jkaFEt@Z@&}ZG(NX}{;ulS@?Dqo>!};p3+HSzZ@Bpoze&x9Rlm{IK(`+8e#TeK zLpL600)BsKvtFSg%7~g3c~hRJwsDBUIYZ@aUdzgXl@w+mdu}bKQ%4E7qH;%c7!53Q z?0N0fcfvStDZIJVtZJtx)zgvdQJ&|tpKV(`?5D1*0-{;Z#qFa!SZ_7 z22!?%Siu-~HuCVtl4LmtJ=p3)r&A>Ppxa%wnh<{-i267FROz61dwbs{LdZf;aG1u- z7^xIuLMpSt`wXPb2h89yL-65*=DzI*bf&(lh}F+&7xlDkcx*;5f!Il27~^6 zZ^wVv*U?$WX$m-gFOf5<{(6l*M-^Q-tBh??jpAsNdd zi2r<}`0G=F@3T1k3fpn;%D!AmS(r$hvRaWsmG`xc$1EA((J8y^AX??qMYO52}1qW4(Wp#TC;-vJqW~upjyU)zd_=dQ%61l`;(GKM*;hj+DFs@ m`;)Io(gFLEf=NjM`;*K`j1Bmc6-jT`%Xc3H007dHWlHgu4q)v7 delta 1224 zcmV;(1ULKEmI2n50g!0{c9Ci^0d|p`Jpp!++Kd5qlV<@%0d|uSM-!940rvrRv$z7g z0ReWibOcBN0d}*!1uYE$cC+geju!!TvwA8V0s(fjmn=dJ5iye$Nvi%J`yT`V0Nfe? z03wqSLKu^eN)3|_Iw*hY0Wz$xS5oEp{IkZ$W7IahY*%4oWjAMt(26 z@jVb!CQPIw|KF#_;JyEG+!>~vBoHuRKurjRamVw9KLvreeG@47zhDZqmzvqHUO()= z^@6}*CrF0AgIsb(S6;5_Vf*pn4qn^H?s|tK?eR z&!2F(T39AMF?6j^@+daGTdQ|AhCN?R5?x%E7 zT9>Bg!f_Gx5s?QdlO8DLRY{F2S% zF~=A4d=1y96LBZ=1WWUo!NTTZtb9b6jaoUMv;A=)K#w&joiCD-Fyv z!-rkVfP=KId-36YzgaoB0Y2QAX6P$eZ#!wTwd)&KW9a^ITRAtfVjl*>iI_ojOXu6_q=p<7i-+ zW6x`+z7xiIOX1C>W@S4)sh*BpYk8j2es*p3xSzVh`nt{M!d=;at-G?ZZ#qFa!SZ_7 z2C`}ov4Sz~Y~|sPCCPFQda%=nPNzunLASeZH6edG5Y=z|snS93_V&I@gph@x;IfUG zF;Xc6g;ZvP_czBzc@g8$K0YS_W*lRb(lCK)U~0_4h{W@z(uJDfgP9HP9_}7C z=rSsVWl}I!OdAk8YK^*A}UV93aw2Ec|MhBpjy}3@RwLV@8fDTZ^_ts48^kW%-nCt!_W4C<={X__ zi2r=c`0G=F8(SQIkL@{lW#2F>S(r$hRXHPtGVg0!kY!+d&!8g=j^g%YM`$SW-X?=_8&U3!HtiDU+j|xA4 zo?GF2q<;rB?z|`7r1kC2sjW^>7aUYEmi0X@h?COanx*FB?IAOJgS&xYxAqs+7f`b= zKFkLJc9Z-?J^^->D?Q%61lc9W7vM*((|+DFs@ mc9XA2(gAjpf=NjMc9YCWj14i96-lc8Ap0K#007*RWlHg?dQB_< From 717bba827e5da92451f97105552cd0c74199d12e Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Mon, 29 Aug 2016 03:43:55 +0200 Subject: [PATCH 14/53] add tracker --- defaulttrackers/data/options.glade | 1 + egg/DefaultTrackers-0.1-py2.7.egg | Bin 19286 -> 19298 bytes 2 files changed, 1 insertion(+) diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index 115bd36..cf90cfd 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -77,6 +77,7 @@ udp://open.demonii.com:1337 http://tracker.baravik.org:6970/announce http://tracker2.wasabii.com.tw:6969/announce udp://9.rarbg.me:2710/announce +udp://tracker.zer0day.to:1337/announce True True diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index d6320e7b2f1e0666a50affbedc4bc26c22995f26..a8dbfffe26937e7235c9b905243e9a9398bb8eb2 100644 GIT binary patch delta 1326 zcmY+^dpOg39Ki8y#LDB@*hDTn9jcj2PWF_MF=Lx;A*m$H?byTN9CL{?+SYO1mP<@& z3Uyq&AVgELa$I_r;UM!gQn_?7;dxG+i8=M_uk-om_5MEJ&)=VkE8w?Rz?WjRqAe_n z;~fAhj{-~yzafeRdw#R684Lvj@etDaJyNyF-$S~?Rv-9UGR!vy;=GM11PHMmLEj+6 z!h#wX$>iB;gFtFi5Xe$wKr|5*(eyk>Zo=cetjV3Ngc*+m&eb`*GK?B_ z9AOs(G0WJj$XvBXpDo&&k#7c)CC4~L`=i2`I#w_IBL`?8;)suq42eq5Yw;8C>q-`0 zR=L8PBF3jpBui1Z438W5#xpfFGjXj>gRB*NHGkx~iD9z29jHFzWcH8;n->Jqnx2dM z5z#{re`Ugi1e7GV36fWuc+Ml1SuweDUl8<3147$Lc=wwEdI4L`_r_W83--!8Pl?le zye~*cVouzcZb!RBxwhyPpt3$Ds@(gM+8O&5qg+jP^PQY_gmx{5r-vJQFNn=ed9?FU z&F&DB3IicYh&SB7=*55_|r)t<9i`mib3E z9~1#jP5STRu?akh8ZM>E^Ug{Co+msoUFG)LFWfXM!h+q~#SRL%J-_^2P(WqrjVCY;~K@1s+-RL0em$VJyES2-o1YJQLB-X%siOnAGn9OWPRvFh@P2 zN>wx-@Y4Nrqrm-?i)vYM=XXpA(kJA@_Ms#S8Gez@@=d;08 zTUzW@g0mZT;dM@Lb=_!Z`P(cpEMYleSuyFjSKGcO{BHTZ{O-acfu&zOBRVaEr%*B& zHxA+&BJCFG3^=-0dYCRBPi_RNiK1x{5EnO*1>IOQLvw{dh+h+{ K(?tS(o&NwEWLq5o delta 1322 zcmY+^e>~H99Ki8yHfr63xH&P)kA5I3m0y_*`++Mz@}nBZ$}}gNkU|#eIFAv&6w`wp zm6MBQGD{gMiztK*cXF1;%5M@w=IYyD_xb1fdOzNuzu#jwp#wLeIdqjZKqoiS3Z%pV z5)xLk8twS!Nof4#D5|}aLS4T7P2$%)LeN6NwuUmli z&A-hK&nwxqMuLmVSfp}Bum8p=~+l3Dn-X{v?OlG8mv9-$k>q9 zs~ioaEL)CZAz=(_t=$Sy2(s=LXRs#NX-f1twK;Sb>9?k9lnVq8D^|dQ6L)7I4?eJ@ za6rhskJVvTSe(IGHnV6I<3VWZL=ozBPfQ&4O8#YZeJGP!SdXefgmR7R;e@t**&}TZN zEjF4TkL|cbwb64_{VaP~D!w2bGL;M@E7RV7ZW}_Rb~Fi~`r!w|IXnJ|YPGCHpb7Fc zYOc|XW0UrerupVI#Ov9SRA53L<&M4^M~|@7-?e}49GPW1^VA7vRwfS(J6%|k=W1DY zUwi#w&RA?A@yTQ1`U50Z#bScwG; zz**mrkA1EM%G5UW)A+R|;b=AWZb}hN!Ta?mX3jtyL$q!5AWo31te%iA1l?MktlTcy zB9F9YG_Y1QMC7h?KT%KrQ2}N?xhN~8(zWKfT zQX-NfI!Dr;m*4BX&KbQ{gqp$3VEm0X*T6``uvlvfyHiKOSGn2xkfw#v1>uT03o5p{xWtJvqgv&PN= z30+-W6ty^Nb|{#+*yDC?+|CG@v5{1+nDkAV<=cKi4oA;*G*R477LtlL;Pm^Fzdv+M;));3!yF5pDP~;-c9L-n{Rg6Tfw*XcWR)9 z?5=O`F?|M|?rD1+-OrP)y*OBXNF`i~OE}>s(jESh))`w8@V~53|6Ss`rSrpJJ zS1vWa>3seEB30_RdS+q^-yYYc_U(oMNWu|NGJyn|PjCetCOCr{5}iOpiQoTmiEiNh zf!GWBl++EHLneX_kuy>MJ4ryadnn8j2Vn4M;5<$XSa&yrEjfQ3jR8*&4ON~Swn D37>#? From b2fea6d9bff954bf4bd45bead41e112c164ff9b0 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sat, 3 Sep 2016 13:13:53 +0200 Subject: [PATCH 15/53] get rid of some glade warnings --- defaulttrackers/data/config.glade | 10 +++++----- defaulttrackers/data/options.glade | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/defaulttrackers/data/config.glade b/defaulttrackers/data/config.glade index 43fcd69..34a2467 100644 --- a/defaulttrackers/data/config.glade +++ b/defaulttrackers/data/config.glade @@ -54,7 +54,7 @@ True True True - + False @@ -69,7 +69,7 @@ True True True - + False @@ -84,7 +84,7 @@ True True True - + False @@ -99,7 +99,7 @@ True True True - + False @@ -114,7 +114,7 @@ True True True - + False diff --git a/defaulttrackers/data/options.glade b/defaulttrackers/data/options.glade index cf90cfd..16d3b8d 100644 --- a/defaulttrackers/data/options.glade +++ b/defaulttrackers/data/options.glade @@ -9,7 +9,7 @@ True 250 dialog - + True @@ -107,7 +107,7 @@ udp://tracker.zer0day.to:1337/announce True False True - + False @@ -122,7 +122,7 @@ udp://tracker.zer0day.to:1337/announce True False True - + False @@ -137,7 +137,7 @@ udp://tracker.zer0day.to:1337/announce True False True - + False From dc59989794fa4efe7c9e76b051b3e6947ef8bc11 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Sat, 3 Sep 2016 13:14:43 +0200 Subject: [PATCH 16/53] fix problem with non-classic UI and allow multiple tracker selection --- defaulttrackers/gtkui.py | 52 +++++++++++++++++++----------- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19298 -> 19564 bytes 2 files changed, 33 insertions(+), 19 deletions(-) diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index fa8ef10..b8bab6f 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -44,7 +44,6 @@ from deluge.ui.client import client from deluge.plugins.pluginbase import GtkPluginBase import deluge.component as component -#import deluge.common from deluge.ui.gtkui import dialogs #from pprint import pprint @@ -153,6 +152,8 @@ def enable(self): scrolled_window = self.glade.get_widget("scrolledwindow1") self.store = self.create_model() self.tree_view = gtk.TreeView(self.store) + tree_selection = self.tree_view.get_selection() + tree_selection.set_mode(gtk.SELECTION_MULTIPLE) self.tree_view.connect("cursor-changed", self.on_listitem_activated) self.tree_view.connect("row-activated", self.on_edit_button_clicked) self.tree_view.set_rules_hint(True) @@ -181,7 +182,7 @@ def on_show_prefs(self): def cb_get_config(self, config): "callback for on show_prefs" - self.trackers = config["trackers"] + self.trackers = list(config["trackers"]) self.store.clear() for tracker in self.trackers: self.store.append([tracker["url"]]) @@ -200,8 +201,8 @@ def create_model(self): return store def on_listitem_activated(self, treeview): - tree, tree_id = self.tree_view.get_selection().get_selected() - if tree_id: + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: self.glade.get_widget("edit_button").set_sensitive(True) self.glade.get_widget("remove_button").set_sensitive(True) self.glade.get_widget("up_button").set_sensitive(True) @@ -216,30 +217,43 @@ def on_add_button_clicked(self, widget): self.opts_dialog.show() def on_remove_button_clicked(self, widget): - tree, tree_id = self.tree_view.get_selection().get_selected() - index = self.tree_view.get_selection().get_selected_rows()[1][0][0] - self.store.remove(tree_id) - del self.trackers[index] + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + to_remove = [] + for tree_path in tree_paths: + tree_id = tree.get_iter(tree_path) + index = tree_path[0] + to_remove.append((index, tree_id)) + for index, tree_id in sorted(to_remove, reverse=True): + # we need to delete the indices in reverse order to avoid offsets + del self.trackers[index] + self.store.remove(tree_id) def on_edit_button_clicked(self, widget): - tree, tree_id = self.tree_view.get_selection().get_selected() - index = self.tree_view.get_selection().get_selected_rows()[1][0][0] - url = str(self.store.get_value(tree_id, 0)) - if url: - self.opts_dialog.show({ - "url": url, - }, tree_id, index) + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + tree_path = tree_paths[0] + tree_id = tree.get_iter(tree_path) + index = tree_path[0] + url = str(self.store.get_value(tree_id, 0)) + if url: + self.opts_dialog.show({ + "url": url, + }, tree_id, index) def on_up_button_clicked(self, widget): - tree, tree_id = self.tree_view.get_selection().get_selected() - if tree_id is not None: + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + tree_path = tree_paths[0] + tree_id = tree.get_iter(tree_path) prev = iter_prev(tree_id, self.store) if prev is not None: self.store.swap(prev, tree_id) def on_down_button_clicked(self, widget): - tree, tree_id = self.tree_view.get_selection().get_selected() - if tree_id is not None: + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + tree_path = tree_paths[0] + tree_id = tree.get_iter(tree_path) nexti = self.store.iter_next(tree_id) if nexti is not None: self.store.swap(tree_id, nexti) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index a8dbfffe26937e7235c9b905243e9a9398bb8eb2..2c9ee65378cfb384c530410c0fdb84f4a3aa238e 100644 GIT binary patch delta 9049 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 X+5h;DQ0#A*B2iur6?$0mKP&$S_O45d delta 8824 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 Date: Sat, 3 Sep 2016 13:23:23 +0200 Subject: [PATCH 17/53] clarify the handling of public/private torrents --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d532d06..9423add 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ ## Description This is a [Deluge][1] plugin that allows you to create a list of default trackers -that will be added to new torrents (and old ones after restarting Deluge). The +that will be added to new public torrents (and old ones after restarting Deluge). The plugin will not duplicate existing trackers and does not care how the torrent was added so it works perfectly fine with infohashes. -Don't use this plugin if you have private torrents where the details are not +Private torrents are excluded on purpose, because their metadata is not supposed to reach public trackers. ## Installation From 7e7b0c756b8553ce8df2bbec415a4b4308bdac70 Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Mon, 5 Sep 2016 00:39:36 +0200 Subject: [PATCH 18/53] update description inside Deluge --- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19564 -> 19568 bytes setup.py | 19 ++++++++++--------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 2c9ee65378cfb384c530410c0fdb84f4a3aa238e..db05ee20bc4dc4dc0af1d92b93481c0a0835cb7d 100644 GIT binary patch delta 860 zcmaDegYm-*#tE6s8(35)=IDc|dDdX+P8W!poXO}6qBpN+ zVqg$tU|?`{ch~jwbMw~^@P;sIgUW}CDx)$ogPys-TL=$(s`APzzu)>=G1oC-YGLbE9d^|;XF1S$G)Ct zfveA6E4qBwEWZAX=KWOFW}6oM~5Fie3@J9e{;k9l#RCz?7C;Xu>L~*Tq}_oduQ2Z z&fl7{`lrWd`(x{8tT%}AaNO@9Ss;*hiZl3A?S3gSGk4w#aS6g$i-}AsUPs7zJ zRbj5T_8-ja(%R$870b?J)ad=WNOZNx48!$7#Z2p;AL*A=d(_y|!p&oMsm=QJ(}sTM zq8YMJ^R#njGyh($_41X7mb$Im>;Ns-u30SpnwO<}Pb8cSIa<+HSljwQe64hxUT|)F z)0IEHw-?3e{#*D^AfW9?GXMQ=^S{N{y_tPKz?+#x1Q=Ny44}9yV{u~yN9ul7ZC)_r zt&pw+m?5hz#RO(p>0XxvF(!+++koj{cMmW<&)o$~KXrEm)0!UkyeR2na;b+ASZ0-n zG*d3iWNj~Lo#X&-MkWzvxD!0ZomG!)V_{&}$;H4R0dyD)ENR>}na|UeX%W|C9c|gk zMV?wr`}rm_dP_~-;mM-_vWM~LrpbzY3=GrN7#JjB+JN+u#wS9PWA&vb|MS#lw3)2s z<;EyJxzI}u?37tv(o7=SKqKX}(OtqM|Hkz$Fg^caMmNuJlD8X^t3KG!ByTOIUsjU~ p?8PT*TJuic1ms581G$=$*?qK_6r8~_{?0s;!+ZqTPPu{H1pw%VH#`6U delta 809 zcmew`gYnG_#tE6snwiQIbM(Q~JZms@rwc?)&SZ23(VN#Zaxm5d8J?+HOC)+385k}x zF)#=+Ffh2fyX$)Tx%uk{ctaSqlN|GJ8}PKg|0lX9*ZM~0#@YVbVhPOGma)#tO+U6s zdEq7vkB~ioeqZcV7O_5~?xkeE@B0IFArp-o{}xS=ZI^qudv{v9@YfAX1-qx$9(w2- zKl@hE^}FWlQ)ks1%&o34U=!GLn#rbV=edS8&I&v)Y&%qSgBL06{CQ4zt6=}G!(B)2 z8xZGDPmBms1VzQRB^FEoCu_xd5-mwwcIH#&&@0Y{>%r@9*e*WyVPZMIMbRT8A_C8xlNEvbqq% zd)S?a?Z#}crw)<@B3=_TxYY_Du4vTvvoGCneaoV2dNBtZS$#V1@pg;-S{yX(pVU#_ z-D?cjyhu$r;F3^TH{bTmjPTx>2Vc&-9Np%Txy130q?@=$dDmJWakp(Vbf2!fcQxts z!)Aw*yAJHCx%|e>qL{H;ee1+KPMLzSn`h{%?#eLw_1uzP5kv{JmlO|DI_*V}Lg^iwH2HI2b_jSjFPT2#(OhtlGR_#z!Gt z2{1!ZTZ#$Hu+zOR31Uo^aJK=|;qD$_dXc*en11Q*2&Q#C?0Her#NXVy%(~Cy| zY4j{dxQCD}eudeiD1#c}TM}4r7Y2I3l-zHD=_Gb*4{Lnju UNyd4yjkEIPC?5f~V{Rb50Ji2W^#A|> diff --git a/setup.py b/setup.py index d83989b..025b55e 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,8 @@ +# -*- coding: utf-8 -*- # # setup.py # -# Copyright (C) 2013-2015 Stefan Talpalaru +# Copyright (C) 2013-2016 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,22 +39,22 @@ # statement from all source files in the program, then also delete it here. # -from setuptools import setup, find_packages +from setuptools import setup __plugin_name__ = "DefaultTrackers" -__author__ = "Stefan Talpalaru" +__author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" __version__ = "0.1" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" -__description__ = "Add a list of default trackers to all the torrents" +__description__ = "Add a list of default trackers to all the public torrents" __long_description__ = """ -Create a list of default trackers that will be added to new torrents (and old -ones after restarting Deluge). The plugin will not duplicate existing trackers -and does not care how the torrent was added so it works perfectly fine with -infohashes. +Create a list of default trackers that will be added to new public torrents +(and old ones after restarting Deluge). The plugin will not duplicate existing +trackers and does not care how the torrent was added so it works perfectly fine +with infohashes. -Don't use this plugin if you have private torrents where the details are not +Private torrents are excluded on purpose, because their metadata is not supposed to reach public trackers. """ __pkg_data__ = {__plugin_name__.lower(): ["data/*"]} From 3ab8cdbaffb00c432ca5546ba109349fcef243a9 Mon Sep 17 00:00:00 2001 From: Wil Reichert Date: Tue, 29 Nov 2016 04:44:18 +0900 Subject: [PATCH 19/53] fix errors from deluged logs --- defaulttrackers/core.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index d2ad6ce..f99b9b9 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -67,7 +67,7 @@ def disable(self): def update(self): pass - def on_torrent_added(self, torrent_id): + def on_torrent_added(self, torrent_id, from_state=False): torrent = component.get("TorrentManager")[torrent_id] if (torrent.torrent_info and torrent.torrent_info.priv()) or torrent.get_status(["private"])["private"]: return @@ -96,4 +96,3 @@ def set_config(self, config): def get_config(self): """Returns the config dictionary""" return self.config.config - From 97190b6ca2a5084bddf520c290bc026da26f299d Mon Sep 17 00:00:00 2001 From: Stefan Talpalaru Date: Mon, 28 Nov 2016 21:48:02 +0100 Subject: [PATCH 20/53] new egg --- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19568 -> 19588 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index db05ee20bc4dc4dc0af1d92b93481c0a0835cb7d..015d33d85e3cf2b4ec5c93f6aa27d3f0a74d6cff 100644 GIT binary patch delta 3108 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 MR=nW%=6?tLAGgu8l>h($ delta 3120 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 UNJRJd_8b{+e2S@8|Id^E0dvl#+yDRo From 9cc8317d3c401533b9d7d5896e855239c44fdfb2 Mon Sep 17 00:00:00 2001 From: Tobi Sim Date: Fri, 26 Jan 2018 00:58:09 +0100 Subject: [PATCH 21/53] added basic dynamic trackerlist support --- defaulttrackers/core.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index f99b9b9..602184f 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -45,11 +45,20 @@ from deluge.core.rpcserver import export DEFAULT_PREFS = { + "dynamic_trackerlist":"https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt", "trackers": [ #{"url": "test"}, ], } +if DEFAULT_PREFS["dynamic_trackerlist"]: + import urllib2 as u2 + trackers = u2.urlopen(DEFAULT_PREFS["dynamic_trackerlist"]).read() + trackers = [ {"url":n} for n in trackers.split("\n\n") if n ] + del u2 + DEFAULT_PREFS["trackers"]+=trackers + del trackers + log = logging.getLogger(__name__) class Core(CorePluginBase): From 7d7800c55425a2a8205cb254b2d534c2ca404247 Mon Sep 17 00:00:00 2001 From: Tobi Sim Date: Fri, 26 Jan 2018 01:05:00 +0100 Subject: [PATCH 22/53] Revert "added basic dynamic trackerlist support" This reverts commit 9cc8317d3c401533b9d7d5896e855239c44fdfb2. found a better way to load tracker list --- defaulttrackers/core.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 602184f..f99b9b9 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -45,20 +45,11 @@ from deluge.core.rpcserver import export DEFAULT_PREFS = { - "dynamic_trackerlist":"https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt", "trackers": [ #{"url": "test"}, ], } -if DEFAULT_PREFS["dynamic_trackerlist"]: - import urllib2 as u2 - trackers = u2.urlopen(DEFAULT_PREFS["dynamic_trackerlist"]).read() - trackers = [ {"url":n} for n in trackers.split("\n\n") if n ] - del u2 - DEFAULT_PREFS["trackers"]+=trackers - del trackers - log = logging.getLogger(__name__) class Core(CorePluginBase): From 8bcddd16d09304ab5e006cb4780994beabb2001d Mon Sep 17 00:00:00 2001 From: Tobi Sim Date: Fri, 26 Jan 2018 01:36:54 +0100 Subject: [PATCH 23/53] added dynamic trackerlist support --- defaulttrackers/core.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index f99b9b9..465c054 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -43,11 +43,13 @@ import deluge.component as component import deluge.configmanager from deluge.core.rpcserver import export +import urllib2 DEFAULT_PREFS = { "trackers": [ #{"url": "test"}, ], + # "dynamic_trackerlist":"https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt", } log = logging.getLogger(__name__) @@ -67,14 +69,25 @@ def disable(self): def update(self): pass + def update_trackerlist(self): + trackers = urllib2.urlopen(self.config["dynamic_trackerlist"]).read() + trackers = [ {"url":n} for n in trackers.split("\n\n") if n ] + self.config["dynamic_trackers"] = trackers + del trackers + def on_torrent_added(self, torrent_id, from_state=False): torrent = component.get("TorrentManager")[torrent_id] if (torrent.torrent_info and torrent.torrent_info.priv()) or torrent.get_status(["private"])["private"]: return trackers = list(torrent.get_status(["trackers"])["trackers"]) existing_urls = [tracker["url"] for tracker in trackers] + if "dynamic_trackerlist" in self.config: + if self.config["dynamic_trackerlist"]: + self.update_trackerlist() + else: + self.config["dynamic_trackers"] = [] got_new_trackers = False - for new_tracker in self.config["trackers"]: + for new_tracker in self.config["trackers"]+self.config["dynamic_trackers"]: if new_tracker["url"] not in existing_urls: got_new_trackers = True trackers.append({ From d1772eef4d01ca2ad5490883da41e701096238c4 Mon Sep 17 00:00:00 2001 From: Tobi Sim Date: Fri, 26 Jan 2018 02:01:09 +0100 Subject: [PATCH 24/53] added time checks to run Trackerlist Updates only once an hour. --- defaulttrackers/core.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 465c054..81a50df 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -43,7 +43,8 @@ import deluge.component as component import deluge.configmanager from deluge.core.rpcserver import export -import urllib2 +from urllib2 import urlopen +from time import time DEFAULT_PREFS = { "trackers": [ @@ -55,6 +56,7 @@ log = logging.getLogger(__name__) class Core(CorePluginBase): + LAST_DYNAMIC_TRACKERS_UPDATE = 0 def enable(self): self.config = deluge.configmanager.ConfigManager("defaulttrackers.conf", DEFAULT_PREFS) component.get("EventManager").register_event_handler( @@ -70,10 +72,12 @@ def update(self): pass def update_trackerlist(self): - trackers = urllib2.urlopen(self.config["dynamic_trackerlist"]).read() - trackers = [ {"url":n} for n in trackers.split("\n\n") if n ] - self.config["dynamic_trackers"] = trackers - del trackers + if time()-self.LAST_DYNAMIC_TRACKERS_UPDATE > 3600: + trackers = urlopen(self.config["dynamic_trackerlist"]).read() + trackers = [ {"url":n} for n in trackers.split("\n") if n ] + self.config["dynamic_trackers"] = trackers + del trackers + self.LAST_DYNAMIC_TRACKERS_UPDATE = time() def on_torrent_added(self, torrent_id, from_state=False): torrent = component.get("TorrentManager")[torrent_id] From e43599ed4f1549eb6da089b1351582908a75b9ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Tue, 5 Jun 2018 22:54:51 +0200 Subject: [PATCH 25/53] extend the dynamic tracker list functionality - don't assume it has one URL per line - switch to Requests because urllib2 was failing on an HTTPS URL - configurable refresh interval that defaults to 1 day - store the last update timestamp in the config - GTK preference interface --- README.md | 7 ++ defaulttrackers/core.py | 55 ++++++---- defaulttrackers/data/config.glade | 165 +++++++++++++++++++++++++++++- defaulttrackers/gtkui.py | 32 ++++-- egg/DefaultTrackers-0.1-py2.7.egg | Bin 19588 -> 21541 bytes 5 files changed, 231 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 9423add..cd08bd6 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ was added so it works perfectly fine with infohashes. Private torrents are excluded on purpose, because their metadata is not supposed to reach public trackers. +Besides manually creating the default tracker list, you can also load it (periodically) from a URL. + ## Installation * create the egg with @@ -18,6 +20,10 @@ supposed to reach public trackers. * add it to Deluge from Preferences -> Plugins -> Install Plugin +## Dependencies + +* [Requests][3] + ## TODO: * log the added trackers so we can remove them from torrents when they are deleted from the default list @@ -25,4 +31,5 @@ supposed to reach public trackers. [1]: http://deluge-torrent.org/ [2]: egg/ +[3]: http://python-requests.org/ diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 81a50df..ccab47e 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -1,7 +1,7 @@ -# +# -*- coding: utf-8 -*- # core.py # -# Copyright (C) 2013-2016 Stefan Talpalaru +# Copyright (C) 2013-2018 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,25 +38,32 @@ # statement from all source files in the program, then also delete it here. # +import datetime import logging +import re +import requests +import time +import traceback + +from deluge.common import is_url +from deluge.core.rpcserver import export from deluge.plugins.pluginbase import CorePluginBase import deluge.component as component import deluge.configmanager -from deluge.core.rpcserver import export -from urllib2 import urlopen -from time import time + DEFAULT_PREFS = { "trackers": [ - #{"url": "test"}, + #{"url": "udp://foo.bar:6969/announce"}, ], - # "dynamic_trackerlist":"https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt", + "dynamic_trackerlist_url": "", + "last_dynamic_trackers_update": 0, # UTC timestamp + "dynamic_trackers_update_interval": 1, # in days } log = logging.getLogger(__name__) class Core(CorePluginBase): - LAST_DYNAMIC_TRACKERS_UPDATE = 0 def enable(self): self.config = deluge.configmanager.ConfigManager("defaulttrackers.conf", DEFAULT_PREFS) component.get("EventManager").register_event_handler( @@ -71,13 +78,22 @@ def disable(self): def update(self): pass - def update_trackerlist(self): - if time()-self.LAST_DYNAMIC_TRACKERS_UPDATE > 3600: - trackers = urlopen(self.config["dynamic_trackerlist"]).read() - trackers = [ {"url":n} for n in trackers.split("\n") if n ] - self.config["dynamic_trackers"] = trackers - del trackers - self.LAST_DYNAMIC_TRACKERS_UPDATE = time() + @export + def update_trackerlist_from_url(self): + if self.config["dynamic_trackerlist_url"]: + now = datetime.datetime.utcnow() + last_update = datetime.datetime.utcfromtimestamp(self.config["last_dynamic_trackers_update"]) + if now - last_update > datetime.timedelta(days=self.config["dynamic_trackers_update_interval"]): + old_trackers = set([t["url"] for t in self.config["trackers"]]) + try: + page = requests.get(self.config["dynamic_trackerlist_url"]).text + new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url) and url not in old_trackers] + for new_tracker in new_trackers: + self.config["trackers"].append({"url": new_tracker}) + self.config["last_dynamic_trackers_update"] = time.mktime(now.timetuple()) + except: + traceback.print_exc() + return self.config.config def on_torrent_added(self, torrent_id, from_state=False): torrent = component.get("TorrentManager")[torrent_id] @@ -85,13 +101,9 @@ def on_torrent_added(self, torrent_id, from_state=False): return trackers = list(torrent.get_status(["trackers"])["trackers"]) existing_urls = [tracker["url"] for tracker in trackers] - if "dynamic_trackerlist" in self.config: - if self.config["dynamic_trackerlist"]: - self.update_trackerlist() - else: - self.config["dynamic_trackers"] = [] + self.update_trackerlist_from_url() got_new_trackers = False - for new_tracker in self.config["trackers"]+self.config["dynamic_trackers"]: + for new_tracker in self.config["trackers"]: if new_tracker["url"] not in existing_urls: got_new_trackers = True trackers.append({ @@ -113,3 +125,4 @@ def set_config(self, config): def get_config(self): """Returns the config dictionary""" return self.config.config + diff --git a/defaulttrackers/data/config.glade b/defaulttrackers/data/config.glade index 34a2467..1a580fd 100644 --- a/defaulttrackers/data/config.glade +++ b/defaulttrackers/data/config.glade @@ -8,6 +8,169 @@ True False + + + True + False + 0 + none + + + True + False + 12 + + + True + False + + + True + False + + + True + False + tracker list URL: + + + False + False + 0 + + + + + True + True + + False + False + True + True + + + True + True + 6 + 1 + + + + + True + True + 0 + + + + + True + False + e.g.: https://newtrackon.com/api/stable +or https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt + True + + + True + True + 1 + + + + + True + False + + + True + False + reload every + + + False + False + 0 + + + + + 34 + True + True + + True + False + False + True + True + + + False + False + 6 + 1 + + + + + True + False + days + + + False + False + 2 + + + + + gtk-refresh + True + True + True + True + reload the tracker list now + True + + + + False + False + 10 + 3 + + + + + False + False + 2 + + + + + + + + + True + False + <b>Dynamic tracker list</b> (optional) + True + + + label_item + + + + + True + True + 0 + + True @@ -149,7 +312,7 @@ True True - 0 + 1 diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index b8bab6f..a37ba26 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -1,7 +1,7 @@ -# +# -*- coding: utf-8 -*- # gtkui.py # -# Copyright (C) 2013-2016 Stefan Talpalaru +# Copyright (C) 2013-2018 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -142,6 +142,7 @@ def enable(self): "on_remove_button_clicked": self.on_remove_button_clicked, "on_up_button_clicked": self.on_up_button_clicked, "on_down_button_clicked": self.on_down_button_clicked, + "on_reload_now_clicked": self.on_reload_now_clicked, }) component.get("Preferences").add_page("Default Trackers", self.glade.get_widget("prefs_box")) @@ -172,16 +173,28 @@ def disable(self): def on_apply_prefs(self): log.debug("applying prefs for DefaultTrackers") - config = { - "trackers": [{"url": str(row[0])} for row in self.store] - } - client.defaulttrackers.set_config(config) + try: + update_interval = int(self.glade.get_widget("tracker_list_update_interval").get_text() or 1) + except: + update_interval = 1 + self.config.update({ + "trackers": [{"url": str(row[0])} for row in self.store], + "dynamic_trackerlist_url": self.glade.get_widget("tracker_list_url").get_text(), + "dynamic_trackers_update_interval": update_interval, + }) + client.defaulttrackers.set_config(self.config) def on_show_prefs(self): client.defaulttrackers.get_config().addCallback(self.cb_get_config) def cb_get_config(self, config): "callback for on show_prefs" + self.config = config + # dynamic tracker list + if config["dynamic_trackerlist_url"]: + self.glade.get_widget("tracker_list_url").set_text(config["dynamic_trackerlist_url"]) + self.glade.get_widget("tracker_list_update_interval").set_text(str(config["dynamic_trackers_update_interval"])) + # trackers self.trackers = list(config["trackers"]) self.store.clear() for tracker in self.trackers: @@ -258,3 +271,10 @@ def on_down_button_clicked(self, widget): if nexti is not None: self.store.swap(tree_id, nexti) + def on_reload_now_clicked(self, widget): + # reset the last update timestamp + self.config["last_dynamic_trackers_update"] = 0 + self.on_apply_prefs() + # we need to reload the tracker list after the update + client.defaulttrackers.update_trackerlist_from_url().addCallback(self.cb_get_config) + diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 015d33d85e3cf2b4ec5c93f6aa27d3f0a74d6cff..afb1d165b7fe3274818b0f3fb2d24514bcf8173e 100644 GIT binary patch delta 13782 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 From 7fc558564a05a8f466cf7da7b31b9155faa8388b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Tue, 3 Jul 2018 13:08:00 +0200 Subject: [PATCH 26/53] replace existing trackers when updating from list URL and also hide the "requests" import in an attempt to lower the number of bug reports from people not having it installed who probably don't even need it --- defaulttrackers/core.py | 12 +++++++----- egg/DefaultTrackers-0.1-py2.7.egg | Bin 21541 -> 21722 bytes setup.py | 5 ++++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index ccab47e..bf85f0c 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -41,7 +41,6 @@ import datetime import logging import re -import requests import time import traceback @@ -81,15 +80,18 @@ def update(self): @export def update_trackerlist_from_url(self): if self.config["dynamic_trackerlist_url"]: + import requests # hide the import here in an attempt to lower the number of bug reports from people not having "python-requests" installed now = datetime.datetime.utcnow() last_update = datetime.datetime.utcfromtimestamp(self.config["last_dynamic_trackers_update"]) if now - last_update > datetime.timedelta(days=self.config["dynamic_trackers_update_interval"]): - old_trackers = set([t["url"] for t in self.config["trackers"]]) try: page = requests.get(self.config["dynamic_trackerlist_url"]).text - new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url) and url not in old_trackers] - for new_tracker in new_trackers: - self.config["trackers"].append({"url": new_tracker}) + new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url)] + if new_trackers: + # replace all existing trackers + self.config["trackers"] = [] + for new_tracker in new_trackers: + self.config["trackers"].append({"url": new_tracker}) self.config["last_dynamic_trackers_update"] = time.mktime(now.timetuple()) except: traceback.print_exc() diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index afb1d165b7fe3274818b0f3fb2d24514bcf8173e..9e1f496c9dead84ae762f6bdd776d2ed05fc5453 100644 GIT binary patch delta 8563 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 diff --git a/setup.py b/setup.py index 025b55e..e725b9e 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ # # setup.py # -# Copyright (C) 2013-2016 Stefan Talpalaru +# Copyright (C) 2013-2018 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -71,6 +71,9 @@ packages=[__plugin_name__.lower()], package_data = __pkg_data__, + install_requires=[ + 'requests', + ], entry_points=""" [deluge.plugin.core] From 7b310165e6f7ed8fd0f9919a2ab81573f3b0b424 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Wed, 3 Oct 2018 17:27:53 +0200 Subject: [PATCH 27/53] replace 'requests' with 'urllib2' --- defaulttrackers/core.py | 18 ++++++++++++++++-- egg/DefaultTrackers-0.1-py2.7.egg | Bin 21722 -> 22113 bytes setup.py | 1 - 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index bf85f0c..9f4b208 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -41,8 +41,10 @@ import datetime import logging import re +import ssl import time import traceback +import urllib2 from deluge.common import is_url from deluge.core.rpcserver import export @@ -80,12 +82,24 @@ def update(self): @export def update_trackerlist_from_url(self): if self.config["dynamic_trackerlist_url"]: - import requests # hide the import here in an attempt to lower the number of bug reports from people not having "python-requests" installed now = datetime.datetime.utcnow() last_update = datetime.datetime.utcfromtimestamp(self.config["last_dynamic_trackers_update"]) if now - last_update > datetime.timedelta(days=self.config["dynamic_trackers_update_interval"]): try: - page = requests.get(self.config["dynamic_trackerlist_url"]).text + headers = { + 'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0', + 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', + 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3', + 'Accept-Encoding': 'none', + 'Accept-Language': 'en-US,en;q=0.8', + } + + req = urllib2.Request(self.config["dynamic_trackerlist_url"], headers=headers) + try: + page = urllib2.urlopen(req, context=ssl._create_unverified_context()).read() + except: + # maybe an older Python version without a "context" argument + page = urllib2.urlopen(req).read() new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url)] if new_trackers: # replace all existing trackers diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg index 9e1f496c9dead84ae762f6bdd776d2ed05fc5453..e19c4613ab558135c0c85ebe6e90dbdacb81218d 100644 GIT binary patch delta 5618 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 BimU(t diff --git a/setup.py b/setup.py index e725b9e..a99a67d 100644 --- a/setup.py +++ b/setup.py @@ -72,7 +72,6 @@ packages=[__plugin_name__.lower()], package_data = __pkg_data__, install_requires=[ - 'requests', ], entry_points=""" From 8739a79bd05f01a92ca63621fdaeb5dc1c180b1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Wed, 3 Oct 2018 17:31:04 +0200 Subject: [PATCH 28/53] remove broken link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cd08bd6..d88c2e3 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Besides manually creating the default tracker list, you can also load it (period `python setup.py bdist_egg` -(or try to use the one from the [egg][2] directory - be careful to install the py2.7 version of Deluge, http://download.deluge-torrent.org/windows/py2.7/ if you're using Windows) +(or try to use the one from the [egg][2] directory - be careful to install the py2.7 version of Deluge, if you're using Windows) * add it to Deluge from Preferences -> Plugins -> Install Plugin From 3ddeaf4f240708f7470d44264562ff6380aa1ed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Wed, 3 Oct 2018 17:38:16 +0200 Subject: [PATCH 29/53] update docs --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d88c2e3..3c9e01e 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,11 @@ Besides manually creating the default tracker list, you can also load it (period * add it to Deluge from Preferences -> Plugins -> Install Plugin -## Dependencies +## Troubleshooting -* [Requests][3] +To get Deluge's output on Windows, run this in a terminal ("cmd" works): + +`"%ProgramFiles%\Deluge\deluge-debug.exe"` ## TODO: @@ -31,5 +33,4 @@ Besides manually creating the default tracker list, you can also load it (period [1]: http://deluge-torrent.org/ [2]: egg/ -[3]: http://python-requests.org/ From d049ca90fc83665a809266996b4b8e02868cce16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Sun, 5 May 2019 00:05:15 +0200 Subject: [PATCH 30/53] egg: direct download link --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3c9e01e..fd9b834 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Besides manually creating the default tracker list, you can also load it (period `python setup.py bdist_egg` -(or try to use the one from the [egg][2] directory - be careful to install the py2.7 version of Deluge, if you're using Windows) +(or try to use [the one from the "egg" directory][2] - be careful to install the py2.7 version of Deluge, if you're using Windows) * add it to Deluge from Preferences -> Plugins -> Install Plugin @@ -32,5 +32,5 @@ To get Deluge's output on Windows, run this in a terminal ("cmd" works): * WebUI version [1]: http://deluge-torrent.org/ -[2]: egg/ +[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg/DefaultTrackers-0.1-py2.7.egg From c53f58bd593f901d5ff7be7e16754672f526f070 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Fri, 26 Jul 2019 01:44:01 +0200 Subject: [PATCH 31/53] support Deluge 2.0 and Python3 - bump version to 0.2 --- README.md | 4 + defaulttrackers/__init__.py | 16 +- defaulttrackers/common.py | 4 +- defaulttrackers/core.py | 13 +- defaulttrackers/data/config.ui | 315 ++++++++++++++++++++++++++++++ defaulttrackers/gtk3ui.py | 281 ++++++++++++++++++++++++++ defaulttrackers/gtkui.py | 9 +- defaulttrackers/webui.py | 5 +- egg/DefaultTrackers-0.1-py2.7.egg | Bin 22113 -> 0 bytes egg/DefaultTrackers-0.2-py2.7.egg | Bin 0 -> 31785 bytes setup.py | 8 +- 11 files changed, 636 insertions(+), 19 deletions(-) create mode 100644 defaulttrackers/data/config.ui create mode 100644 defaulttrackers/gtk3ui.py delete mode 100644 egg/DefaultTrackers-0.1-py2.7.egg create mode 100644 egg/DefaultTrackers-0.2-py2.7.egg diff --git a/README.md b/README.md index fd9b834..bf04aaf 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ supposed to reach public trackers. Besides manually creating the default tracker list, you can also load it (periodically) from a URL. +This plugin is compatible with Deluge 1.3 and 2.0, Python2 2.7 and Python3 3.5+. + ## Installation * create the egg with @@ -18,6 +20,8 @@ Besides manually creating the default tracker list, you can also load it (period (or try to use [the one from the "egg" directory][2] - be careful to install the py2.7 version of Deluge, if you're using Windows) +* you need to use the same version of Python as the one that Deluge is running under. + * add it to Deluge from Preferences -> Plugins -> Install Plugin ## Troubleshooting diff --git a/defaulttrackers/__init__.py b/defaulttrackers/__init__.py index 81d6af9..913d90f 100644 --- a/defaulttrackers/__init__.py +++ b/defaulttrackers/__init__.py @@ -1,7 +1,7 @@ # # __init__.py # -# Copyright (C) 2013-2016 Stefan Talpalaru +# Copyright (C) 2013-2019 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,22 +38,30 @@ # statement from all source files in the program, then also delete it here. # +from __future__ import absolute_import from deluge.plugins.init import PluginInitBase class CorePlugin(PluginInitBase): def __init__(self, plugin_name): - from core import Core as _plugin_cls + from .core import Core as _plugin_cls self._plugin_cls = _plugin_cls super(CorePlugin, self).__init__(plugin_name) class GtkUIPlugin(PluginInitBase): def __init__(self, plugin_name): - from gtkui import GtkUI as _plugin_cls + from .gtkui import GtkUI as _plugin_cls self._plugin_cls = _plugin_cls super(GtkUIPlugin, self).__init__(plugin_name) +class Gtk3UIPlugin(PluginInitBase): + def __init__(self, plugin_name): + from .gtk3ui import Gtk3UI as _plugin_cls + self._plugin_cls = _plugin_cls + super(Gtk3UIPlugin, self).__init__(plugin_name) + class WebUIPlugin(PluginInitBase): def __init__(self, plugin_name): - from webui import WebUI as _plugin_cls + from .webui import WebUI as _plugin_cls self._plugin_cls = _plugin_cls super(WebUIPlugin, self).__init__(plugin_name) + diff --git a/defaulttrackers/common.py b/defaulttrackers/common.py index e7e72fe..6a28ee8 100644 --- a/defaulttrackers/common.py +++ b/defaulttrackers/common.py @@ -1,7 +1,7 @@ # # common.py # -# Copyright (C) 2013-2016 Stefan Talpalaru +# Copyright (C) 2013-2019 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -39,6 +39,8 @@ # +from __future__ import absolute_import, unicode_literals + def get_resource(filename): import pkg_resources, os return pkg_resources.resource_filename("defaulttrackers", diff --git a/defaulttrackers/core.py b/defaulttrackers/core.py index 9f4b208..70bccc5 100644 --- a/defaulttrackers/core.py +++ b/defaulttrackers/core.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # core.py # -# Copyright (C) 2013-2018 Ștefan Talpalaru +# Copyright (C) 2013-2019 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,13 +38,14 @@ # statement from all source files in the program, then also delete it here. # +from __future__ import absolute_import, unicode_literals import datetime import logging import re import ssl import time import traceback -import urllib2 +import six from deluge.common import is_url from deluge.core.rpcserver import export @@ -94,13 +95,13 @@ def update_trackerlist_from_url(self): 'Accept-Language': 'en-US,en;q=0.8', } - req = urllib2.Request(self.config["dynamic_trackerlist_url"], headers=headers) + req = six.moves.urllib.request.Request(self.config["dynamic_trackerlist_url"], headers=headers) try: - page = urllib2.urlopen(req, context=ssl._create_unverified_context()).read() + page = six.moves.urllib.request.urlopen(req, context=ssl._create_unverified_context()).read() except: # maybe an older Python version without a "context" argument - page = urllib2.urlopen(req).read() - new_trackers = [url for url in re.findall(r'\w+://[\w\-.:/]+', page) if is_url(url)] + page = six.moves.urllib.request.urlopen(req).read() + new_trackers = [six.ensure_str(url) for url in re.findall(b'\w+://[\w\-.:/]+', page) if is_url(six.ensure_text(url))] if new_trackers: # replace all existing trackers self.config["trackers"] = [] diff --git a/defaulttrackers/data/config.ui b/defaulttrackers/data/config.ui new file mode 100644 index 0000000..fd13d31 --- /dev/null +++ b/defaulttrackers/data/config.ui @@ -0,0 +1,315 @@ + + + + + + False + + + True + False + + + True + False + 0 + none + + + True + False + 12 + + + True + False + + + True + False + + + True + False + tracker list URL: + + + False + False + 0 + + + + + True + True + + False + False + True + True + + + True + True + 6 + 1 + + + + + True + True + 0 + + + + + True + False + e.g.: https://newtrackon.com/api/stable +or https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_all.txt + True + + + True + True + 1 + + + + + True + False + + + True + False + reload every + + + False + False + 0 + + + + + 34 + True + True + + True + False + False + True + True + + + False + False + 6 + 1 + + + + + True + False + days + + + False + False + 2 + + + + + gtk-refresh + True + True + True + True + reload the tracker list now + True + + + + False + False + 10 + 3 + + + + + False + False + 2 + + + + + + + + + True + False + <b>Dynamic tracker list</b> (optional) + True + + + + + True + True + 0 + + + + + True + False + 0 + none + + + True + False + 12 + + + True + False + 2 + + + True + True + automatic + automatic + etched-in + + + + + + True + True + 0 + + + + + True + False + 5 + start + + + gtk-go-up + True + True + True + True + + + + False + False + 0 + + + + + gtk-add + True + True + True + True + + + + False + False + 1 + + + + + gtk-edit + True + True + True + True + + + + False + False + 2 + + + + + gtk-remove + True + True + True + True + + + + False + False + 3 + + + + + gtk-go-down + True + True + True + True + + + + False + False + 4 + + + + + False + True + 3 + 1 + + + + + + + + + True + False + <b>Default trackers</b> + True + + + + + True + True + 1 + + + + + + diff --git a/defaulttrackers/gtk3ui.py b/defaulttrackers/gtk3ui.py new file mode 100644 index 0000000..a474273 --- /dev/null +++ b/defaulttrackers/gtk3ui.py @@ -0,0 +1,281 @@ +# -*- coding: utf-8 -*- +# gtkui.py +# +# Copyright (C) 2013-2019 Ștefan Talpalaru +# +# Basic plugin template created by: +# Copyright (C) 2008 Martijn Voncken +# Copyright (C) 2007-2009 Andrew Resch +# Copyright (C) 2009 Damien Churchill +# Copyright (C) 2010 Pedro Algarvio +# +# Deluge is free software. +# +# You may redistribute it and/or modify it under the terms of the +# GNU General Public License, as published by the Free Software +# Foundation; either version 3 of the License, or (at your option) +# any later version. +# +# deluge is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +# See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with deluge. If not, write to: +# The Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor +# Boston, MA 02110-1301, USA. +# +# In addition, as a special exception, the copyright holders give +# permission to link the code of portions of this program with the OpenSSL +# library. +# You must obey the GNU General Public License in all respects for all of +# the code used other than OpenSSL. If you modify file(s) with this +# exception, you may extend this exception to your version of the file(s), +# but you are not obligated to do so. If you do not wish to do so, delete +# this exception statement from your version. If you delete this exception +# statement from all source files in the program, then also delete it here. +# + +from __future__ import absolute_import, unicode_literals +from gi.repository import Gtk +import logging + +from deluge.ui.client import client +from deluge.plugins.pluginbase import Gtk3PluginBase +import deluge.component as component +from deluge.ui.gtk3 import dialogs +#from pprint import pprint + +from .common import get_resource + +log = logging.getLogger(__name__) + +def iter_prev(iter, model): + path = model.get_path(iter) + position = path[-1] + if position == 0: + return None + prev_path = list(path)[:-1] + prev_path.append(position - 1) + prev = model.get_iter(tuple(prev_path)) + return prev + +class OptionsDialog(): + def __init__(self, gtkui): + self.gtkui = gtkui + + def show(self, options=None, item_id=None, item_index=None): + self.builder = Gtk.Builder.new_from_file(get_resource("config.ui")) + self.builder.connect_signals({ + "on_opts_add_button_clicked": self.on_add, + "on_opts_apply_button_clicked": self.on_apply, + "on_opts_cancel_button_clicked": self.on_cancel, + "on_options_dialog_close": self.on_cancel, + }) + self.dialog = self.builder.get_object("options_dialog") + self.dialog.set_transient_for(component.get("Preferences").pref_dialog) + + if item_id: + #We have an existing item_id, we are editing + self.builder.get_object("opts_add_button").hide() + self.builder.get_object("opts_apply_button").show() + self.item_id = item_id + else: + #We don't have an id, adding + self.builder.get_object("opts_add_button").show() + self.builder.get_object("opts_apply_button").hide() + self.item_id = None + self.item_index = item_index + + self.load_options(options) + self.dialog.run() + self.dialog.destroy() + + def load_options(self, options): + if options: + self.builder.get_object("tracker_entry").get_buffer().set_text(options.get("url", "")) + + def in_store(self, item): + for row in self.gtkui.store: + if row[0] == item: + return True + return False + + def on_add(self, widget): + try: + options = self.generate_opts() + for url in options["urls"]: + if not self.in_store(url): + self.gtkui.store.append([url]) + self.gtkui.trackers.append({"url": url}) + except Exception as err: + dialogs.ErrorDialog("Error", str(err), self.dialog).run() + + def generate_opts(self): + # generate options dict based on gtk objects + buffer = self.builder.get_object("tracker_entry").get_buffer() + options = { + "urls": buffer.get_text(*buffer.get_bounds()).split(), + } + if len(options["urls"]) == 0: + raise Exception("no URLs") + return options + + def on_apply(self, widget): + try: + options = self.generate_opts() + self.gtkui.store[self.item_id][0] = options["urls"][0] + self.gtkui.trackers[self.item_index]["url"] = options["urls"][0] + except Exception as err: + dialogs.ErrorDialog("Error", str(err), self.dialog).run() + + def on_cancel(self, widget): + self.dialog.response(Gtk.ResponseType.DELETE_EVENT) + +class Gtk3UI(Gtk3PluginBase): + def enable(self): + self.builder = Gtk.Builder.new_from_file(get_resource("config.ui")) + self.builder.connect_signals({ + "on_add_button_clicked": self.on_add_button_clicked, + "on_edit_button_clicked": self.on_edit_button_clicked, + "on_remove_button_clicked": self.on_remove_button_clicked, + "on_up_button_clicked": self.on_up_button_clicked, + "on_down_button_clicked": self.on_down_button_clicked, + "on_reload_now_clicked": self.on_reload_now_clicked, + }) + + component.get("Preferences").add_page("Default Trackers", self.builder.get_object("prefs_box")) + component.get("PluginManager").register_hook("on_apply_prefs", self.on_apply_prefs) + component.get("PluginManager").register_hook("on_show_prefs", self.on_show_prefs) + + self.trackers = [] + scrolled_window = self.builder.get_object("scrolledwindow1") + self.store = self.create_model() + self.tree_view = Gtk.TreeView(self.store) + tree_selection = self.tree_view.get_selection() + tree_selection.set_mode(Gtk.SelectionMode.MULTIPLE) + self.tree_view.connect("cursor-changed", self.on_listitem_activated) + self.tree_view.connect("row-activated", self.on_edit_button_clicked) + self.tree_view.set_rules_hint(True) + rendererText = Gtk.CellRendererText() + column = Gtk.TreeViewColumn("URL", rendererText, text=0) + self.tree_view.append_column(column) + scrolled_window.add(self.tree_view) + scrolled_window.show_all() + + self.opts_dialog = OptionsDialog(self) + + def disable(self): + component.get("Preferences").remove_page("Default Trackers") + component.get("PluginManager").deregister_hook("on_apply_prefs", self.on_apply_prefs) + component.get("PluginManager").deregister_hook("on_show_prefs", self.on_show_prefs) + + def on_apply_prefs(self): + log.debug("applying prefs for DefaultTrackers") + try: + update_interval = int(self.builder.get_object("tracker_list_update_interval").get_text() or 1) + except: + update_interval = 1 + self.config.update({ + "trackers": [{"url": str(row[0])} for row in self.store], + "dynamic_trackerlist_url": self.builder.get_object("tracker_list_url").get_text(), + "dynamic_trackers_update_interval": update_interval, + }) + client.defaulttrackers.set_config(self.config) + + def on_show_prefs(self): + client.defaulttrackers.get_config().addCallback(self.cb_get_config) + + def cb_get_config(self, config): + "callback for on show_prefs" + self.config = config + # dynamic tracker list + if config["dynamic_trackerlist_url"]: + self.builder.get_object("tracker_list_url").set_text(config["dynamic_trackerlist_url"]) + self.builder.get_object("tracker_list_update_interval").set_text(str(config["dynamic_trackers_update_interval"])) + # trackers + self.trackers = list(config["trackers"]) + self.store.clear() + for tracker in self.trackers: + self.store.append([tracker["url"]]) + # Workaround for cached builder signal appearing when re-enabling plugin in same session + if self.builder.get_object("edit_button"): + # Disable the remove and edit buttons, because nothing in the store is selected + self.builder.get_object("remove_button").set_sensitive(False) + self.builder.get_object("edit_button").set_sensitive(False) + self.builder.get_object("up_button").set_sensitive(False) + self.builder.get_object("down_button").set_sensitive(False) + + def create_model(self): + store = Gtk.ListStore(str) + for tracker in self.trackers: + store.append([tracker["url"]]) + return store + + def on_listitem_activated(self, treeview): + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + self.builder.get_object("edit_button").set_sensitive(True) + self.builder.get_object("remove_button").set_sensitive(True) + self.builder.get_object("up_button").set_sensitive(True) + self.builder.get_object("down_button").set_sensitive(True) + else: + self.builder.get_object("edit_button").set_sensitive(False) + self.builder.get_object("remove_button").set_sensitive(False) + self.builder.get_object("up_button").set_sensitive(False) + self.builder.get_object("down_button").set_sensitive(False) + + def on_add_button_clicked(self, widget): + self.opts_dialog.show() + + def on_remove_button_clicked(self, widget): + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + to_remove = [] + for tree_path in tree_paths: + tree_id = tree.get_iter(tree_path) + index = tree_path[0] + to_remove.append((index, tree_id)) + for index, tree_id in sorted(to_remove, reverse=True): + # we need to delete the indices in reverse order to avoid offsets + del self.trackers[index] + self.store.remove(tree_id) + + def on_edit_button_clicked(self, widget): + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + tree_path = tree_paths[0] + tree_id = tree.get_iter(tree_path) + index = tree_path[0] + url = str(self.store.get_value(tree_id, 0)) + if url: + self.opts_dialog.show({ + "url": url, + }, tree_id, index) + + def on_up_button_clicked(self, widget): + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + tree_path = tree_paths[0] + tree_id = tree.get_iter(tree_path) + prev = iter_prev(tree_id, self.store) + if prev is not None: + self.store.swap(prev, tree_id) + + def on_down_button_clicked(self, widget): + tree, tree_paths = self.tree_view.get_selection().get_selected_rows() + if tree_paths: + tree_path = tree_paths[0] + tree_id = tree.get_iter(tree_path) + nexti = self.store.iter_next(tree_id) + if nexti is not None: + self.store.swap(tree_id, nexti) + + def on_reload_now_clicked(self, widget): + # reset the last update timestamp + self.config["last_dynamic_trackers_update"] = 0 + self.on_apply_prefs() + # we need to reload the tracker list after the update + client.defaulttrackers.update_trackerlist_from_url().addCallback(self.cb_get_config) + diff --git a/defaulttrackers/gtkui.py b/defaulttrackers/gtkui.py index a37ba26..cdc2da9 100644 --- a/defaulttrackers/gtkui.py +++ b/defaulttrackers/gtkui.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- # gtkui.py # -# Copyright (C) 2013-2018 Ștefan Talpalaru +# Copyright (C) 2013-2019 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,6 +38,7 @@ # statement from all source files in the program, then also delete it here. # +from __future__ import absolute_import, unicode_literals import gtk import logging @@ -47,7 +48,7 @@ from deluge.ui.gtkui import dialogs #from pprint import pprint -from common import get_resource +from .common import get_resource log = logging.getLogger(__name__) @@ -109,7 +110,7 @@ def on_add(self, widget): if not self.in_store(url): self.gtkui.store.append([url]) self.gtkui.trackers.append({"url": url}) - except Exception, err: + except Exception as err: dialogs.ErrorDialog("Error", str(err), self.dialog).run() def generate_opts(self): @@ -127,7 +128,7 @@ def on_apply(self, widget): options = self.generate_opts() self.gtkui.store[self.item_id][0] = options["urls"][0] self.gtkui.trackers[self.item_index]["url"] = options["urls"][0] - except Exception, err: + except Exception as err: dialogs.ErrorDialog("Error", str(err), self.dialog).run() def on_cancel(self, widget): diff --git a/defaulttrackers/webui.py b/defaulttrackers/webui.py index 7f6dc84..c717d38 100644 --- a/defaulttrackers/webui.py +++ b/defaulttrackers/webui.py @@ -1,7 +1,7 @@ # # webui.py # -# Copyright (C) 2013-2016 Stefan Talpalaru +# Copyright (C) 2013-2019 Stefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -38,12 +38,13 @@ # statement from all source files in the program, then also delete it here. # +from __future__ import absolute_import, unicode_literals import logging from deluge.ui.client import client from deluge import component from deluge.plugins.pluginbase import WebPluginBase -from common import get_resource +from .common import get_resource log = logging.getLogger(__name__) diff --git a/egg/DefaultTrackers-0.1-py2.7.egg b/egg/DefaultTrackers-0.1-py2.7.egg deleted file mode 100644 index e19c4613ab558135c0c85ebe6e90dbdacb81218d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22113 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
M}*_ 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 +# Copyright (C) 2013-2019 Ștefan Talpalaru # # Basic plugin template created by: # Copyright (C) 2008 Martijn Voncken @@ -39,12 +39,13 @@ # statement from all source files in the program, then also delete it here. # +from __future__ import absolute_import from setuptools import setup __plugin_name__ = "DefaultTrackers" __author__ = u"Ștefan Talpalaru" __author_email__ = "stefantalpalaru@yahoo.com" -__version__ = "0.1" +__version__ = "0.2" __url__ = "https://github.com/stefantalpalaru/deluge-default-trackers" __license__ = "GPLv3" __description__ = "Add a list of default trackers to all the public torrents" @@ -72,6 +73,7 @@ packages=[__plugin_name__.lower()], package_data = __pkg_data__, install_requires=[ + 'six', ], entry_points=""" @@ -79,6 +81,8 @@ %(plugin_name)s = %(plugin_module)s:CorePlugin [deluge.plugin.gtkui] %(plugin_name)s = %(plugin_module)s:GtkUIPlugin + [deluge.plugin.gtk3ui] + %(plugin_name)s = %(plugin_module)s:Gtk3UIPlugin [deluge.plugin.web] %(plugin_name)s = %(plugin_module)s:WebUIPlugin """ % dict(plugin_name=__plugin_name__, plugin_module=__plugin_name__.lower()) From ade4b538dcce8a5e581092bf0451ae65565329bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Fri, 26 Jul 2019 01:46:00 +0200 Subject: [PATCH 32/53] fix egg link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bf04aaf..a9d151b 100644 --- a/README.md +++ b/README.md @@ -36,5 +36,5 @@ To get Deluge's output on Windows, run this in a terminal ("cmd" works): * WebUI version [1]: http://deluge-torrent.org/ -[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg/DefaultTrackers-0.1-py2.7.egg +[2]: https://github.com/stefantalpalaru/deluge-default-trackers/raw/master/egg/DefaultTrackers-0.2-py2.7.egg From 0049ffbb3e8d35b8842c231a88bda3ae3c9292a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Sat, 27 Jul 2019 15:45:49 +0200 Subject: [PATCH 33/53] document the "six" dependency --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a9d151b..33ff9e2 100644 --- a/README.md +++ b/README.md @@ -22,6 +22,8 @@ This plugin is compatible with Deluge 1.3 and 2.0, Python2 2.7 and Python3 3.5+. * you need to use the same version of Python as the one that Deluge is running under. +* if you're using it with Deluge-1.3, you might not have [six](https://pypi.org/project/six/) installed. Install it. + * add it to Deluge from Preferences -> Plugins -> Install Plugin ## Troubleshooting From 690e13ff56299d5af285db0c1f7c00758f2bb50a Mon Sep 17 00:00:00 2001 From: Thiago Almeida Date: Thu, 7 Nov 2019 21:51:40 +0100 Subject: [PATCH 34/53] Enforcing six version on setup.py This plugin uses a function from six that was introduced on version 1.12, so now we will install the right six version. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b35c7d8..e668141 100644 --- a/setup.py +++ b/setup.py @@ -73,7 +73,7 @@ packages=[__plugin_name__.lower()], package_data = __pkg_data__, install_requires=[ - 'six', + 'six>=1.12', ], entry_points=""" From 0e9a1029c3afa87ec776142beed75511a2126b8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C8=98tefan=20Talpalaru?= Date: Wed, 10 Jun 2020 03:51:23 +0200 Subject: [PATCH 35/53] egg/DefaultTrackers-0.2-py3.6.egg --- egg/DefaultTrackers-0.2-py3.6.egg | Bin 0 -> 32037 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 egg/DefaultTrackers-0.2-py3.6.egg diff --git a/egg/DefaultTrackers-0.2-py3.6.egg b/egg/DefaultTrackers-0.2-py3.6.egg new file mode 100644 index 0000000000000000000000000000000000000000..dd44ad38233d739c87df9e2f7badb03f26966bfa GIT binary patch literal 32037 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