home *** CD-ROM | disk | FTP | other *** search
/ Freelog 116 / FreelogNo116-JuilletSeptembre2013.iso / Bureautique / gImageReader / gimagereader_0.9-1_win32.exe / bin / gtk / deprecation.pyc (.txt) < prev   
Python Compiled Bytecode  |  2011-03-24  |  3KB  |  77 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.7)
  3.  
  4. import os
  5. import sys
  6. import warnings
  7. from gtk._gtk import DeprecationWarning
  8.  
  9. def _is_pydoc():
  10.     if sys.argv:
  11.         name = os.path.basename(sys.argv[0])
  12.         if 'pydoc' in name:
  13.             return True
  14.     return False
  15.  
  16.  
  17. class _Deprecated:
  18.     
  19.     def __init__(self, module, funcname, oldname, modulename = ''):
  20.         self.module = module
  21.         self.funcname = funcname
  22.         self.oldname = oldname
  23.         if modulename:
  24.             self.modulename = modulename
  25.         else:
  26.             self.modulename = 'gtk'
  27.  
  28.     
  29.     def __repr__(self):
  30.         return '<deprecated function %s>' % self.oldname
  31.  
  32.     
  33.     def __call__(self, *args, **kwargs):
  34.         if type(self.module) == str:
  35.             module = __import__(self.module, { }, { }, ' ')
  36.         else:
  37.             module = self.module
  38.         func = getattr(module, self.funcname)
  39.         if not _is_pydoc():
  40.             message = 'gtk.%s is deprecated, use %s.%s instead' % (self.oldname, self.modulename, func.__name__)
  41.             warnings.warn(message, DeprecationWarning, 2)
  42.         
  43.         try:
  44.             return func(*args, **kwargs)
  45.         except TypeError:
  46.             e = None
  47.             raise TypeError(str(e).replace(func.__name__, self.oldname))
  48.  
  49.  
  50.  
  51.  
  52. class _DeprecatedConstant:
  53.     
  54.     def __init__(self, value, name, suggestion):
  55.         self._v = value
  56.         self._name = name
  57.         self._suggestion = suggestion
  58.  
  59.     
  60.     def _deprecated(self, value):
  61.         if not _is_pydoc():
  62.             message = '%s is deprecated, use %s instead' % (self._name, self._suggestion)
  63.             warnings.warn(message, DeprecationWarning, 3)
  64.         return value
  65.  
  66.     
  67.     __nonzero__ = lambda self: self._deprecated(self._v == True)
  68.     
  69.     __int__ = lambda self: self._deprecated(int(self._v))
  70.     
  71.     __str__ = lambda self: self._deprecated(str(self._v))
  72.     
  73.     __repr__ = lambda self: self._deprecated(repr(self._v))
  74.     
  75.     __cmp__ = lambda self, other: self._deprecated(cmp(self._v, other))
  76.  
  77.