more scripts file
[archive.git] / Apkawa / for_torrents.ru / captcha.py
blob46d1a77294234795b265793cfc8fdbd2eede521e
1 import pygtk
2 pygtk.require('2.0')
4 import gtk
5 import gtk.glade
6 import gobject
7 import urllib, Image, StringIO
8 #import tempfile
10 class Captcha:
11 def __init__(self):
12 _xml = 'captcha.glade'
13 _window = 'Captcha'
14 self.widgets_tree = gtk.glade.XML( _xml)
15 events_connect = {
16 'enter_captcha_clicked_cb':self.return_val ,
17 'text_captcha_activate_cb':self.return_val ,
19 self.widgets_tree.signal_autoconnect( events_connect )
20 window = self.widgets_tree.get_widget( _window)
21 if (window):
22 window.connect("destroy", gtk.main_quit)
23 self.captcha = self.widgets_tree.get_widget( 'captcha' )
24 self.text_captcha = self.widgets_tree.get_widget( 'text_captcha' )
25 def get_img(self, url):
26 src_img = StringIO.StringIO( urllib.urlopen(url).read() )
27 img = Image.open(src_img)
28 #file1 = StringIO.StringIO()
29 img.save( 'captcha_img', img.format)
30 self.captcha.set_from_file('captcha_img')
31 '''
32 contents = file1.getvalue()
33 file1.close()
34 loader = gtk.gdk.PixbufLoader('pnm')
35 loader.write( contents, len(contents) )
36 pixbuf = loader.get_pixbuf()
37 loader.close()
39 self.captcha.set_from_pixbuf(pixbuf)
40 '''
41 def return_val(self, widget):
42 #print widget.name
43 print self.text_captcha.get_text()
44 gtk.main_quit()
50 if __name__ == "__main__":
51 import sys
52 app = Captcha()
53 #app.get_img('http://spamavert.com/images/logo.spamavert.com.jpg')
54 app.get_img(sys.argv[1])
55 gtk.main()
56 '''
57 import StringIO
58 import PIL.Image
59 import gtk
61 def image_to_pixbuf(image):
62 fd = StringIO.StringIO()
63 image.save(fd, "ppm")
64 contents = fd.getvalue()
65 fd.close()
66 loader = gtk.gdk.PixbufLoader("pnm")
67 loader.write(contents, len(contents))
68 pixbuf = loader.get_pixbuf()
69 loader.close()
70 return pixbuf
72 image = PIL.Image.open("example.png")
73 pixbuf = image_to_pixbuf(image)
74 image = gtk.Image()
75 image.set_from_pixbuf(pixbuf)
77 '''