home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import win32com.client as win32com
-
- def DumpDB(db, bDeep = 1):
- DumpTables(db, bDeep)
- DumpRelations(db, bDeep)
- DumpAllContainers(db, bDeep)
-
-
- def DumpTables(db, bDeep = 1):
- for tab in db.TableDefs:
- tab = db.TableDefs(tab.Name)
- print 'Table %s - Fields: %d, Attributes:%d' % (tab.Name, len(tab.Fields), tab.Attributes)
- if bDeep:
- DumpFields(tab.Fields)
- continue
-
-
-
- def DumpFields(fields):
- for field in fields:
- print ' %s, size=%d, reqd=%d, type=%d, defVal=%s' % (field.Name, field.Size, field.Required, field.Type, str(field.DefaultValue))
-
-
-
- def DumpRelations(db, bDeep = 1):
- for relation in db.Relations:
- print 'Relation %s - %s->%s' % (relation.Name, relation.Table, relation.ForeignTable)
-
-
-
- def DumpAllContainers(db, bDeep = 1):
- for cont in db.Containers:
- print 'Container %s - %d documents' % (cont.Name, len(cont.Documents))
- if bDeep:
- DumpContainerDocuments(cont)
- continue
-
-
-
- def DumpContainerDocuments(container):
- for doc in container.Documents:
- import time
- timeStr = time.ctime(int(doc.LastUpdated))
- print ' %s - updated %s (' % (doc.Name, timeStr), doc.LastUpdated, ')'
-
-
-
- def TestEngine(engine):
- import sys
- if len(sys.argv) > 1:
- dbName = sys.argv[1]
- else:
- dbName = 'e:\\temp\\TestPython.mdb'
- db = engine.OpenDatabase(dbName)
- DumpDB(db)
-
-
- def test():
- for progid in ('DAO.DBEngine.36', 'DAO.DBEngine.35', 'DAO.DBEngine.30'):
-
- try:
- ob = win32com.client.gencache.EnsureDispatch(progid)
- except pythoncom.com_error:
- print progid, 'does not seem to be installed'
- continue
-
- TestEngine(ob)
-
-
- if __name__ == '__main__':
- test()
-
-