def createProject(self, name, directory, description = None, reuseDirectory = True): """ Crea un proyecto nuevo lo agrega en los existentes y lo retorna, """ #TODO: dejar este trabajo al file manager if not os.path.exists(directory): os.makedirs(directory) elif not reuseDirectory: raise Exception() project = ProjectTreeNode(directory, { "name": name, "description": description }) try: project.save() except ProjectExistsException: rslt = QtGui.QMessageBox.information(None, _("Project already created on %s") % name, _("Directory %s already contains .pmxproject directory structure. " "Unless you know what you are doing, Cancel and import project," " if it still fails, choose overwirte. Overwrite?") % directory, QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Ok, QtGui.QMessageBox.Cancel) if rslt == QtGui.QMessageBox.Cancel: return try: project.save(overwirte = True) except FileException as excp: QtGui.QMessageBox.critical(None, _("Project creation failed"), _("<p>Project %s could not be created<p><pre>%s</pre>") % (name, excp)) self.addProject(project) self.appendToKnowProjects(project) return project
def loadProjects(self): for path in self.knownProjects[:]: try: ProjectTreeNode.loadProject(path, self) except exceptions.FileNotExistsException as e: print e self.knownProjects.remove(path) self.settings.setValue('knownProjects', self.knownProjects)
def loadProjects(self, messageHandler = None): self.messageHandler = messageHandler for path in self.knownProjects[:]: try: ProjectTreeNode.loadProject(path, self) except exceptions.FileNotExistsException as e: print(e) self.knownProjects.remove(path) self._settings.setValue('knownProjects', self.knownProjects) self.messageHandler = None
def createProject(self, name, directory, overwrite = False): """Crea un proyecto nuevo y lo retorna""" project = ProjectTreeNode(directory, { "name": name }) if not overwrite and os.path.exists(project.projectPath): raise exceptions.ProjectExistsException() project.save() self.addProject(project) self.appendToKnowProjects(project) return project
def createProject(self, name, file_path, folders=(), overwrite=False): """Crea un proyecto nuevo y lo retorna""" if not overwrite and os.path.exists(file_path): raise exceptions.ProjectExistsException() project = ProjectTreeNode(name, file_path) project.load({ "name": name, "source_folders": folders }) project.save() self.addProject(project) return project
def createProject(self, name, directory, description=None, reuseDirectory=True): """ Crea un proyecto nuevo lo agrega en los existentes y lo retorna, """ #TODO: dejar este trabajo al file manager if not os.path.exists(directory): os.makedirs(directory) elif not reuseDirectory: raise Exception() project = ProjectTreeNode(directory, { "name": name, "description": description }) try: project.save() except ProjectExistsException: rslt = QtGui.QMessageBox.information( None, _("Project already created on %s") % name, _("Directory %s already contains .pmxproject directory structure. " "Unless you know what you are doing, Cancel and import project," " if it still fails, choose overwirte. Overwrite?") % directory, QtGui.QMessageBox.Cancel | QtGui.QMessageBox.Ok, QtGui.QMessageBox.Cancel) if rslt == QtGui.QMessageBox.Cancel: return try: project.save(overwirte=True) except FileException as excp: QtGui.QMessageBox.critical( None, _("Project creation failed"), _("<p>Project %s could not be created<p><pre>%s</pre>") % (name, excp)) self.addProject(project) self.appendToKnowProjects(project) return project
def importProject(self, directory): try: project = ProjectTreeNode.loadProject(directory, self) except exceptions.FileNotExistsException: raise exceptions.LocationIsNotProject() self.appendToKnowProjects(project)
def openProject(self, file_path): try: project = ProjectTreeNode.loadProject(file_path, self) except exceptions.FileNotExistsException: raise exceptions.FileIsNotProject()