vss.py 文件源码

python
阅读 18 收藏 0 点赞 0 评论 0

项目:remoteControlPPT 作者: htwenning 项目源码 文件源码
def CheckoutFile(fileName):
    global g_sourceSafe
    import pythoncom
    ok = 0
    # Assumes the fileName has a complete path,
    # and that the INI file can be found in that path
    # (or a parent path if a ni style package)
    try:
        import win32com.client, win32com.client.gencache
        mod = win32com.client.gencache.EnsureModule('{783CD4E0-9D54-11CF-B8EE-00608CC9A71F}', 0, 5, 0)
        if mod is None:
            win32ui.MessageBox("VSS does not appear to be installed.  The TypeInfo can not be created")
            return ok

        rc = FindVssProjectInfo(fileName)
        if rc is None:
            return
        project, vssFname, database = rc
        if g_sourceSafe is None:
            g_sourceSafe=win32com.client.Dispatch("SourceSafe")
            # SS seems a bit wierd.  It defaults the arguments as empty strings, but
            # then complains when they are used - so we pass "Missing"
            if not database:
                database = pythoncom.Missing
            g_sourceSafe.Open(database, pythoncom.Missing, pythoncom.Missing)
        item = g_sourceSafe.VSSItem("$/%s/%s" % (project, vssFname))
        item.Checkout(None, fileName)
        ok = 1
    except pythoncom.com_error, exc:
        win32ui.MessageBox(exc.strerror, "Error checking out file")
    except:
        typ, val, tb = sys.exc_info()
        traceback.print_exc()
        win32ui.MessageBox("%s - %s" % (str(typ), str(val)),"Error checking out file")
        tb = None # Cleanup a cycle
    return ok
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号