예제 #1
0
 def __init__(self, fileName=''):
     self.doc = minidom.Document()
     self.rootNode = XmlUtils.GetRoot(self.doc)
     self.name = ''
     self.fileName = ''  # 绝对路径
     self.dirName = ''  # 绝对路径
     self.baseName = ''  # 项目文件名
     # 用于判断是否重新生成 makefile,此标志为真时,必重新生成 makefile
     # FIXME: 如果此标志为真,但是此时关闭工作区,下次启动时不会重建 makefile
     self.isModified = False
     self.tranActive = False
     self.modifyTime = 0
     self.settings = None
     if fileName:
         try:
             self.doc = minidom.parse(fileName)
         except IOError:
             print 'Invalid fileName:', fileName
             raise IOError
         self.rootNode = XmlUtils.GetRoot(self.doc)
         self.name = XmlUtils.GetRoot(self.doc).getAttribute('Name')\
                 .encode('utf-8')
         self.fileName = os.path.abspath(fileName)  #绝对路径
         self.dirName, self.baseName = os.path.split(self.fileName)  #绝对路径
         self.modifyTime = Globals.GetFileModificationTime(fileName)
         self.settings = ProjectSettings(
             XmlUtils.FindFirstByTagName(self.rootNode, 'Settings'))
예제 #2
0
    def Load(self, fileName=''):
        if not fileName and not self.fileName:
            return False

        ret = False
        obj = None
        try:
            if not fileName:
                fileName = self.fileName
            f = open(fileName, 'rb')
            obj = pickle.load(f)
            f.close()
        except IOError:
            #print 'IOError:', fileName
            return False

        if obj:
            self.fileName = obj.fileName
            self.envVarSets = obj.envVarSets
            #self.activeSetName = obj.activeSetName # 这个值只有临时保存,不需要
            self.mtime = Globals.GetFileModificationTime(fileName)
            del obj
            ret = True

        if ret:
            self.ExpandSelf()

        return ret
예제 #3
0
    def Save(self, fileName=''):
        if not fileName and not self.fileName:
            return False

        ret = False
        try:
            if not fileName:
                fileName = self.fileName
            dirName = os.path.dirname(fileName)
            if not os.path.exists(dirName):
                os.makedirs(dirName)
            f = open(fileName, 'wb')
            pickle.dump(self, f)
            f.close()
            self.mtime = Globals.GetFileModificationTime(fileName)
            ret = True
        except IOError:
            print 'IOError:', fileName
            return False

        return ret
예제 #4
0
 def GetProjFileLastModifiedTime(self):
     return Globals.GetFileModificationTime(self.fileName)