From 5d33b6ca5ba678bb1cf7c0c81f4c8de1b0389152 Mon Sep 17 00:00:00 2001 From: Denis Fomin Date: Thu, 17 Nov 2011 16:54:34 +0300 Subject: [PATCH] use proxy in juick plugin --- juick/manifest.ini | 2 +- juick/plugin.py | 37 ++++++++++++++++++------------------- juick/unknown.png | Bin 0 -> 1625 bytes 3 files changed, 19 insertions(+), 20 deletions(-) create mode 100644 juick/unknown.png diff --git a/juick/manifest.ini b/juick/manifest.ini index e6d396c..676b032 100644 --- a/juick/manifest.ini +++ b/juick/manifest.ini @@ -1,7 +1,7 @@ [info] name: Juick short_name: Juick -version: 0.8 +version: 0.9 description: Clickable juick links , juick nics, preview juick picturs. The key combination alt + up in the textbox allow insert the number of last message (comment or topic). authors: Denis Fomin diff --git a/juick/plugin.py b/juick/plugin.py index d058f60..864b4de 100644 --- a/juick/plugin.py +++ b/juick/plugin.py @@ -5,7 +5,6 @@ import pango import re import os import time -import urllib from string import upper from string import rstrip import locale @@ -448,33 +447,33 @@ class Base(object): pixbuf = self.get_pixbuf_from_url(url,self.plugin.config[ 'AVATAR_SIZE']) - if pixbuf: - # save to cache - pixbuf.save(pic_path, 'png') - if need_check: - return pixbuf - query = "select nick, id from person where nick = :nick" - self.plugin.cursor.execute(query, {'nick':nick}) - db_item = self.plugin.cursor.fetchone() - if not db_item: - data = (nick.decode('utf-8'), uid.decode('utf-8')) - self.plugin.cursor.execute('insert into person(nick, id)' - ' values (?, ?)', data) - self.plugin.conn.commit() + # save to cache + pixbuf.save(pic_path, 'png') + if need_check: return pixbuf + query = "select nick, id from person where nick = :nick" + self.plugin.cursor.execute(query, {'nick':nick}) + db_item = self.plugin.cursor.fetchone() + if not db_item: + data = (nick.decode('utf-8'), uid.decode('utf-8')) + self.plugin.cursor.execute('insert into person(nick, id)' + ' values (?, ?)', data) + self.plugin.conn.commit() + return pixbuf def get_pixbuf_from_url(self, url, size): # download avatar and resize him - # Returns pixbuf or False if broken image or not connected try: - data = urllib.urlopen(url).read() + data, alt = helpers.download_image(self.textview.account, + {'src': url}) pix = gtk.gdk.PixbufLoader() pix.write(data) pix.close() pixbuf = pix.get_pixbuf() - pixbuf, w, h = self.get_pixbuf_of_size(pixbuf, size) - except: - return False + except Exception,e: + img_path = self.plugin.local_file_path('unknown.png') + pixbuf = gtk.gdk.pixbuf_new_from_file(img_path) + pixbuf, w, h = self.get_pixbuf_of_size(pixbuf, size) return pixbuf def get_pixbuf_of_size(self, pixbuf, size): diff --git a/juick/unknown.png b/juick/unknown.png new file mode 100644 index 0000000000000000000000000000000000000000..585fd803f9e633c8eb7916ed925757ddfc9024ae GIT binary patch literal 1625 zcmV-f2B!ImP)Px#24YJ`L;(K){{a7>y{D4^00sd`L_t(o!|j$^XcSi%$N%Td%x-pecQ%*Z&6bf#dN>ag9 zddJFG{ibQMr?o?#_Jf@}cg~Jf8Xb|au_PLeg>_x`=kpU*I-Snk&18CRkKOrb>(;IP z{|Uf>uR1=gtF8I8ZN&?9x~@Y}6cFN=5JF&L;y%t_I5&KAXlT#-?|tyalh{N&Yng&HtpePDdRRyIK06-~4ZEamR7}Qs_tz70icC_>7e+6J~$KEwfjSKfI zY;3Fo$V1LmRRg6ILP$s{!MQ*<6!tU5m$t1~e(Ct}6Mc`fO`ilH;PZXCsHrK=xc~r2 z3HK@?gn$qNQaS*D^Q>uMQ#7Clc1>q{T7X@X1~ zlVAku>+5Il-o2xBMgW>W@aC*Ub&N3vDFrwe;M{Z03IL2Ta9)JqoFkE#RS^j4Z#~Yw zIvs$|r!4UKd!~^T5^1eP5qBcg|K6t&ny(XRc$%DPuM`ca);4D$brg zo4IiQ_l+~I1sw*dXT8D zK|{j=+SaymR^Q;w*H^!|=J2Ugr}9s=1N-;yS-*Pq+JkfE%neB?z!*m=mBQ%g7)DaV zxR=QQQbJV~aLxfj5D7<6Q&WprEQadpI0zwNjL9F49y#;Z(8y}jG{qC`z>Xa|suwR_ za-_Mrxsr1RLMSv%MIfL<(^LfY5R9+^BOHMdj-axl64mhp5{X%eMx%(wW1v*=)Iw@& z>*B*BH}xMoPn>=tfc5XZeQ@2&udHH>xpE_*ltR;dFbo4_Wn~D3LI{Tql$V#IqM{O& zm6eD_qo}H?DoE3*jvTtKD-ZHkLrZhZwOh+L#k&aogOPmv)(M0W2f+xmSRzWEIkU# z%47cAxfNw)WzCNQPyrZ#tf!Q^&PNdrhbHv_rIVLjdC7ZOfEgbjFT_IFhy;l$8m9sv z00IDFw{MM4c;z&mP9YEoOmbRuSnLf%VNN~@N(qLChn=I4k_sV|sQ{=8P=58wwJVuS zmZwrFL?V$XS6y_*rV{UlMxbQ2+`6wX^g1h3=m2EC3`D z)rGB`dIyTTQ2M@fC!D6nhio>7-rn9jA%E!NRCz!FpaBTx^Lc+f9@Sf0moEy1g4C0e zD@u2k%Cp!96yrobbmd$klg--K`mS_*^6}=Ak4i++jRoc6#jeY9=hrpPn>RmU7!jpZ zT2ndqg49!qlP?HVRfXRl!01@|L08v>V~4-_Zeuc;6jK36IPDGt@IVNWJALY>&a!}i zJeSMO5ke43DFGpr3qhFMkaD*-V2r_L9L$xaWm)p>-P`$r{=s{{{`N~>Z%^;`_V#UN zGMQx46{A8dxbFx6Y}l}&I+2JqDvDA8W%@3P2*NEZKRPycr|;0AL&NUEMB)7YA0^{& Xzj9~cjo^>g00000NkvXXu0mjf>-778 literal 0 HcmV?d00001