added future hack torrents.ru and simple api for spamavert.com
[archive.git] / Apkawa / for_torrents.ru / captcha.py
blobe08d9163920ea403cf95d2666b522eb864c1ea9d
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 self.widgets_tree.signal_autoconnect( events_connect )
17 window = self.widgets_tree.get_widget( _window)
18 if (window):
19 window.connect("destroy", gtk.main_quit)
20 self.captcha = self.widgets_tree.get_widget( 'captcha' )
21 def get_img(self):
22 src_img = StringIO.StringIO( urllib.urlopen('http://s50.radikal.ru/i127/0904/6d/f4cff6808e12t.jpg').read() )
23 img = Image.open(src_img)
24 #file1 = StringIO.StringIO()
25 img.save( 'c:\\temp\captcha', img.format)
26 self.captcha.set_from_file('c:\\temp\captcha')
27 '''
28 contents = file1.getvalue()
29 file1.close()
30 loader = gtk.gdk.PixbufLoader('pnm')
31 loader.write( contents, len(contents) )
32 pixbuf = loader.get_pixbuf()
33 loader.close()
35 self.captcha.set_from_pixbuf(pixbuf)
36 '''
39 if __name__ == "__main__":
40 app = Captcha()
41 app.get_img()
42 gtk.main()
43 '''
44 import StringIO
45 import PIL.Image
46 import gtk
48 def image_to_pixbuf(image):
49 fd = StringIO.StringIO()
50 image.save(fd, "ppm")
51 contents = fd.getvalue()
52 fd.close()
53 loader = gtk.gdk.PixbufLoader("pnm")
54 loader.write(contents, len(contents))
55 pixbuf = loader.get_pixbuf()
56 loader.close()
57 return pixbuf
59 image = PIL.Image.open("example.png")
60 pixbuf = image_to_pixbuf(image)
61 image = gtk.Image()
62 image.set_from_pixbuf(pixbuf)
64 '''