예제 #1
0
    def apply(self):

        # protect against repeated double-clicking

        if (self.project):
            return False

        path = self.file_select.getDirectory()
        if not doesRepositoryContainProject(
                path) and not getPossibleProjectFiles(path):
            self.file_select.changeDir(path)
            return False

        self.disableOk()

        self.project = None

        if not path:
            showError('No path', 'Need to select path', self)
            self.enableOk()
            return False

        try:
            self.project = self.load_project(path)
        except ApiError, e:
            showError('Loading project', e.error_msg, self)
            self.enableOk()
            return False
예제 #2
0
    def getEntryColor(self, fileName):

        # this function returns background color for entry

        if doesRepositoryContainProject(fileName):
            color = '#C0FFC0'  # green
        elif getPossibleProjectFiles(fileName):
            color = '#FFFFC0'  # yellow
        else:
            color = None  # default

        return color
예제 #3
0
    def getProjectFileText(self, fileName):

        if doesRepositoryContainProject(fileName):
            tt = time.localtime(os.path.getmtime(fileName))
            tt = '%4d-%02d-%02d %02d:%02d:%02d' % tt[:6]
            data = 'OK (%s)' % tt
        else:
            files = getPossibleProjectFiles(fileName)
            nfiles = len(files)
            if nfiles == 1:
                data = '%s' % os.path.basename(files[0])
            elif nfiles:
                data = '%d possible' % nfiles
            else:
                data = None
        data = (data, )

        return data
예제 #4
0
    def isProjectDirectory(self, directory):

        return (doesRepositoryContainProject(directory)
                or getPossibleProjectFiles(directory))