示例#1
0
 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