home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import pythoncom
- from win32com.client import Dispatch, _get_good_object_
- PyIDispatchType = pythoncom.TypeIIDs[pythoncom.IID_IDispatch]
-
- def WrapEnum(ob, resultCLSID = None):
- if type(ob) != pythoncom.TypeIIDs[pythoncom.IID_IEnumVARIANT]:
- ob = ob.QueryInterface(pythoncom.IID_IEnumVARIANT)
-
- return EnumVARIANT(ob, resultCLSID)
-
-
- class Enumerator:
-
- def __init__(self, enum):
- self._oleobj_ = enum
- self.index = -1
-
-
- def __getitem__(self, index):
- return self._Enumerator__GetIndex(index)
-
-
- def __call__(self, index):
- return self._Enumerator__GetIndex(index)
-
-
- def __GetIndex(self, index):
- if type(index) != type(0):
- raise TypeError, 'Only integer indexes are supported for enumerators'
- type(index) != type(0)
- if index != self.index + 1:
- self._oleobj_.Reset()
- if index:
- self._oleobj_.Skip(index)
-
-
- self.index = index
- result = self._oleobj_.Next(1)
- if len(result):
- return self._make_retval_(result[0])
- raise IndexError, 'list index out of range'
-
-
- def Next(self, count = 1):
- ret = self._oleobj_.Next(count)
- realRets = []
- for r in ret:
- realRets.append(self._make_retval_(r))
-
- return tuple(realRets)
-
-
- def Reset(self):
- return self._oleobj_.Reset()
-
-
- def Clone(self):
- return self.__class__(self._oleobj_.Clone(), self.resultCLSID)
-
-
- def _make_retval_(self, result):
- return result
-
-
-
- class EnumVARIANT(Enumerator):
-
- def __init__(self, enum, resultCLSID = None):
- self.resultCLSID = resultCLSID
- Enumerator.__init__(self, enum)
-
-
- def _make_retval_(self, result):
- return _get_good_object_(result, resultCLSID = self.resultCLSID)
-
-
-
- class Iterator:
-
- def __init__(self, enum, resultCLSID = None):
- self.resultCLSID = resultCLSID
- self._iter_ = iter(enum.QueryInterface(pythoncom.IID_IEnumVARIANT))
-
-
- def __iter__(self):
- return self
-
-
- def next(self):
- return _get_good_object_(self._iter_.next(), resultCLSID = self.resultCLSID)
-
-
-