home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_2295 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  3.8 KB  |  98 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import sys
  5.  
  6. try:
  7.     set()
  8. except NameError:
  9.     from sets import Set as set
  10.  
  11. from PyQt4 import QtGui
  12.  
  13. class _QtGuiWrapper(object):
  14.     
  15.     def search(cls):
  16.         return getattr(QtGui, cls, None)
  17.  
  18.     search = staticmethod(search)
  19.  
  20.  
  21. class _ModuleWrapper(object):
  22.     
  23.     def __init__(self, moduleName, classes):
  24.         self._moduleName = moduleName
  25.         self._module = None
  26.         self._classes = set(classes)
  27.  
  28.     
  29.     def search(self, cls):
  30.         if cls in self._classes:
  31.             if self._module is None:
  32.                 self._module = __import__(self._moduleName, { }, { }, self._classes)
  33.             
  34.             obj = self._module
  35.             for attr in cls.split('.'):
  36.                 obj = getattr(obj, attr)
  37.             
  38.             return obj
  39.         return None
  40.  
  41.  
  42.  
  43. class _CustomWidgetLoader(object):
  44.     
  45.     def __init__(self):
  46.         sys.path.append('.')
  47.         self._widgets = { }
  48.         self._modules = { }
  49.  
  50.     
  51.     def addCustomWidget(self, widgetClass, baseClass, module):
  52.         self._widgets[widgetClass] = module
  53.  
  54.     
  55.     def search(self, cls):
  56.         
  57.         try:
  58.             module = self._widgets[cls]
  59.             if module not in self._modules:
  60.                 self._modules[module] = __import__(module, { }, { }, (cls,))
  61.             
  62.             return getattr(self._modules[module], cls)
  63.         except KeyError:
  64.             pass
  65.  
  66.  
  67.  
  68.  
  69. class LoaderCreatorPolicy(object):
  70.     
  71.     def createQtGuiWrapper(self):
  72.         return _QtGuiWrapper
  73.  
  74.     
  75.     def createModuleWrapper(self, moduleName, classes):
  76.         return _ModuleWrapper(moduleName, classes)
  77.  
  78.     
  79.     def createCustomWidgetLoader(self):
  80.         return _CustomWidgetLoader()
  81.  
  82.     
  83.     def instantiate(self, clsObject, objectName, ctor_args, is_attribute = True):
  84.         return clsObject(*ctor_args)
  85.  
  86.     
  87.     def invoke(self, rname, method, args):
  88.         return method(*args)
  89.  
  90.     
  91.     def getSlot(self, object, slotname):
  92.         if slotname == 'raise':
  93.             slotname += '_'
  94.         
  95.         return getattr(object, slotname)
  96.  
  97.  
  98.