home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- from win32com.client import gencache, constants
- import pythoncom
- import os
- ammodule = None
-
- def GetDefaultProfileName():
- import win32api
- import win32con
-
- try:
- key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, 'Software\\Microsoft\\Windows NT\\CurrentVersion\\Windows Messaging Subsystem\\Profiles')
-
- try:
- return win32api.RegQueryValueEx(key, 'DefaultProfile')[0]
- finally:
- key.Close()
-
- except win32api.error:
- return None
-
-
-
- def DumpFolder(folder, indent = 0):
- print ' ' * indent, folder.Name
- folders = folder.Folders
- folder = folders.GetFirst()
- while folder:
- DumpFolder(folder, indent + 1)
- folder = folders.GetNext()
-
-
- def DumpFolders(session):
-
- try:
- infostores = session.InfoStores
- except AttributeError:
- store = session.DefaultStore
- folder = store.GetRootFolder()
- DumpFolder(folder)
- return None
-
- print infostores
- print 'There are %d infostores' % infostores.Count
- for i in range(infostores.Count):
- infostore = infostores[i + 1]
- print 'Infostore = ', infostore.Name
-
- try:
- folder = infostore.RootFolder
- except pythoncom.com_error:
- details = None
- (hr, msg, exc, arg) = details
- if exc and exc[-1] == -2147221219:
- print 'This info store is currently not available'
- continue
-
- except:
- exc[-1] == -2147221219
-
- DumpFolder(folder)
-
-
- PropTagsById = { }
- if ammodule:
- for name, val in ammodule.constants.__dict__.items():
- PropTagsById[val] = name
-
-
-
- def TestAddress(session):
- pass
-
-
- def TestUser(session):
- ae = session.CurrentUser
- fields = getattr(ae, 'Fields', [])
- print 'User has %d fields' % len(fields)
- for f in range(len(fields)):
- field = fields[f + 1]
-
- try:
- id = PropTagsById[field.ID]
- except KeyError:
- id = field.ID
-
- print '%s/%s=%s' % (field.Name, id, field.Value)
-
-
-
- def test():
- import win32com.client as win32com
- oldcwd = os.getcwd()
-
- try:
- session = gencache.EnsureDispatch('MAPI.Session')
-
- try:
- session.Logon(GetDefaultProfileName())
- except pythoncom.com_error:
- details = None
- print 'Could not log on to MAPI:', details
- return None
-
- except pythoncom.error:
- app = gencache.EnsureDispatch('Outlook.Application')
- session = app.Session
-
-
- try:
- TestUser(session)
- TestAddress(session)
- DumpFolders(session)
- finally:
- session.Logoff()
- os.chdir(oldcwd)
-
-
- if __name__ == '__main__':
- from util import CheckClean
- test()
- CheckClean()
-
-