home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import sys as _sys
-
- def modules(modulePath):
-
- try:
- mod = _sys.modules[modulePath]
- if mod is None:
- raise KeyError()
- mod is None
- except KeyError:
- mod = __import__(modulePath, globals(), locals(), [
- ''])
-
- return mod
-
-
- def attributes(full_attribute_name):
- last_dot = full_attribute_name.rfind(u'.')
- attr_name = full_attribute_name[last_dot + 1:]
- mod_path = full_attribute_name[:last_dot]
- mod = modules(mod_path)
-
- try:
- attr = getattr(mod, attr_name)
- except AttributeError:
- raise AttributeError("'%s' object has no attribute '%s'" % (mod_path, attr_name))
-
- return attr
-
-
- class _Builder:
-
- def build(self, o):
- m = getattr(self, 'build_' + o.__class__.__name__, None)
- if m is None:
- raise TypeError('unrepr does not recognize %s' % repr(o.__class__.__name__))
- m is None
- return m(o)
-
-
- def build_Subscript(self, o):
- (expr, flags, subs) = o.getChildren()
- expr = self.build(expr)
- subs = self.build(subs)
- return expr[subs]
-
-
- def build_CallFunc(self, o):
- children = map(self.build, o.getChildren())
- callee = children.pop(0)
- if not children.pop():
- pass
- kwargs = { }
- if not children.pop():
- pass
- starargs = ()
- args = tuple(children) + tuple(starargs)
- return callee(*args, **kwargs)
-
-
- def build_List(self, o):
- return map(self.build, o.getChildren())
-
-
- def build_Const(self, o):
- return o.value
-
-
- def build_Dict(self, o):
- d = { }
- i = iter(map(self.build, o.getChildren()))
- for el in i:
- d[el] = i.next()
-
- return d
-
-
- def build_Tuple(self, o):
- return tuple(self.build_List(o))
-
-
- def build_Name(self, o):
- if o.name == 'None':
- return None
- if o.name == 'True':
- return True
- if o.name == 'False':
- return False
-
- try:
- return modules(o.name)
- except ImportError:
- o.name == 'False'
- o.name == 'False'
- o.name == 'True'
- except:
- o.name == 'None'
-
-
- try:
- import __builtin__
- return getattr(__builtin__, o.name)
- except AttributeError:
- o.name == 'None'
- o.name == 'None'
- except:
- o.name == 'None'
-
- raise TypeError('unrepr could not resolve the name %s' % repr(o.name))
-
-
- def build_Add(self, o):
- (left, right) = map(self.build, o.getChildren())
- return left + right
-
-
- def build_Getattr(self, o):
- parent = self.build(o.expr)
- return getattr(parent, o.attrname)
-
-
- def build_NoneType(self, o):
- pass
-
-
- def build_UnarySub(self, o):
- return -self.build(o.getChildren()[0])
-
-
- def build_UnaryAdd(self, o):
- return self.build(o.getChildren()[0])
-
-
-
- def unrepr(s):
- if not s:
- return s
-
- try:
- import compiler
- except ImportError:
- s
- s
- return eval(s)
-
- p = compiler.parse('__tempvalue__ = ' + s)
- obj = p.getChildren()[1].getChildren()[0].getChildren()[1]
- return _Builder().build(obj)
-
-
- def file_generator(input, chunkSize = 65536):
- chunk = input.read(chunkSize)
- while chunk:
- yield chunk
- chunk = input.read(chunkSize)
- input.close()
-
-
- def file_generator_limited(fileobj, count, chunk_size = 65536):
- remaining = count
- while remaining > 0:
- chunk = fileobj.read(min(chunk_size, remaining))
- chunklen = len(chunk)
- if chunklen == 0:
- return None
- remaining -= chunklen
- yield chunk
- chunklen == 0
-
-