home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- import gobject
-
- try:
- import gnomevfs
- use_gnomevfs = True
- except:
- import urllib
- use_gnomevfs = False
-
-
- class GnomeVFSAsyncSrc(object):
-
- def __init__(self):
- self.chunk = 4096
-
-
- def read_cb(self, handle, buffer, exc_type, bytes_requested, .10):
- (data, callback, args) = .10
- if exc_type:
- if issubclass(exc_type, gnomevfs.EOFError):
- gobject.idle_add(callback, data, *args)
- handle.close((lambda : pass))
- else:
- gobject.idle_add(callback, None, *args)
- handle.close((lambda : pass))
- return None
-
- data += buffer
- handle.read(self.chunk, self.read_cb, (data, callback, args))
-
-
- def open_cb(self, handle, exc_type, .6):
- (data, callback, args) = .6
- if exc_type:
- gobject.idle_add(callback, None, *args)
- return None
-
- handle.read(self.chunk, self.read_cb, (data, callback, args))
-
-
- def get_url(self, url, callback, *args):
- gnomevfs.async.open(url, self.open_cb, data = ('', callback, args))
-
-
-
- class URLLibSrc(object):
-
- def get_url(self, url, callback, *args):
-
- try:
- sock = urllib.urlopen(url)
- data = sock.read()
- sock.close()
- callback(data, *args)
- except:
- callback(None, *args)
- raise
-
-
-
-
- def Loader():
- if use_gnomevfs:
- return GnomeVFSAsyncSrc()
- else:
- return URLLibSrc()
-
-