def post(self, project_id): forms = {} for field in ['projectname', 'description', 'version']: if field in self.request.arguments.keys(): forms[field] = self.request.arguments[field][0] pdb = Projects() # Existing project. if int(project_id) != pdb.predict_next_rowid(): project = pdb.get(project_id) project_is_new = False # New project else: project = {} project['active'] = 0 project['projpath'] = None project_is_new = True if 'projectname' not in forms or \ len(forms['projectname']) == 0: project['projectname'] = "Unnamed Project" else: project['projectname'] = forms['projectname'].strip() if 'description' in forms: project['description'] = forms['description'].strip() else: project['description'] = '' if 'version' in forms: project['version'] = forms['version'].strip() else: project['version'] = '' # if there's no proj dir yet, create an empty one if not project['projpath']: directory = self.get_project_dir() pname = project['projectname'] project['projpath'] = _get_unique_name(directory, pname) if project_is_new: pdb.new(project) os.mkdir(project['projpath']) else: for key, value in project.iteritems(): pdb.set(project_id, key, value) pdb.modified(project_id) # Update project settings. proj = Project(project['projpath']) dummy = proj.get_info() # Just to get required keys. info = {} for key in dummy: info[key] = project[key] proj.set_info(info) self.redirect("/workspace/project?projpath=" + project['projpath'])
def post(self, project_id): forms = {} for field in ['projectname', 'description', 'version']: if field in self.request.arguments.keys(): forms[field] = self.request.arguments[field][0] pdb = Projects() # Existing project. if int(project_id) != pdb.predict_next_rowid(): project = pdb.get(project_id) project_is_new = False # New project else: project = {} project['active'] = 0 project['projpath'] = None project_is_new = True if 'projectname' not in forms or \ len(forms['projectname']) == 0: project['projectname'] = "Unnamed Project" else: project['projectname'] = forms['projectname'].strip() if 'description' in forms: project['description'] = forms['description'].strip() else: project['description'] = '' if 'version' in forms: project['version'] = forms['version'].strip() else: project['version'] = '' directory = forms.get('directory', self.get_project_dir()) # if there's no proj dir yet, create an empty one if not project['projpath']: version = project['version'] pname = project['projectname'] if len(version): filename = clean_filename('%s-%s' % (pname, version)) else: filename = clean_filename(pname) unique = filename i = 1 while os.path.exists(os.path.join(directory, unique)): unique = '%s_%s' % (filename, str(i)) i = i+1 project['projpath'] = os.path.join(directory, unique) if project_is_new: pdb.new(project) os.mkdir(project['projpath']) else: for key, value in project.iteritems(): pdb.set(project_id, key, value) pdb.modified(project_id) # Update project settings. proj = Project(project['projpath']) dummy = proj.get_info() # Just to get required keys. info = {} for key in dummy: info[key] = project[key] proj.set_info(info) self.redirect("/workspace/project?projpath=" + project['projpath'])
def post(self, project_id): forms = {} for field in ['projectname', 'description', 'version']: if field in self.request.arguments.keys(): forms[field] = self.request.arguments[field][0] pdb = Projects() # Existing project. if int(project_id) != pdb.predict_next_rowid(): project = pdb.get(project_id) project_is_new = False # New project else: project = {} project['active'] = 0 project['filename'] = None project_is_new = True if 'projectname' not in forms or \ len(forms['projectname']) == 0: project['projectname'] = "Unnamed Project" else: project['projectname'] = forms['projectname'].strip() if 'description' in forms: project['description'] = forms['description'].strip() else: project['description'] = '' if 'version' in forms: project['version'] = forms['version'].strip() else: project['version'] = '' # if there's no proj file yet, create en empty one if not project['filename']: version = project['version'] pname = project['projectname'] if len(version): filename = '%s-%s' % (pname, version) else: filename = '%s' % pname filename = clean_filename(filename) unique = '%s.proj' % filename i = 1 while os.path.exists(os.path.join(self.get_project_dir(), \ unique)): unique = '%s_%s.proj' % (filename, str(i)) i = i+1 with open(os.path.join(self.get_project_dir(), unique), 'w') as out: out.write('') out.close() project['filename'] = unique print 'created file:', pname, unique if project_is_new: pdb.new(project) else: for key, value in project.iteritems(): pdb.set(project_id, key, value) pdb.modified(project_id) self.redirect(self.request.uri)
def post(self, project_id): forms = {} for field in ['projectname', 'description', 'version']: if field in self.request.arguments.keys(): forms[field] = self.request.arguments[field][0] pdb = Projects() # Existing project. if int(project_id) != pdb.predict_next_rowid(): project = pdb.get(project_id) project_is_new = False # New project else: project = {} project['active'] = 0 project['filename'] = None project_is_new = True if 'projectname' not in forms or \ len(forms['projectname']) == 0: project['projectname'] = "Unnamed Project" else: project['projectname'] = forms['projectname'].strip() if 'description' in forms: project['description'] = forms['description'].strip() else: project['description'] = '' if 'version' in forms: project['version'] = forms['version'].strip() else: project['version'] ='' # if there's no proj file yet, create en empty one if not project['filename']: version = project['version'] pname = project['projectname'] if len(version): filename = '%s-%s' % (pname, version) else: filename = '%s' % pname filename = clean_filename(filename) unique = '%s.proj' % filename i = 1 while os.path.exists(os.path.join(self.get_project_dir(), \ unique)): unique = '%s_%s.proj' % (filename, str(i)) i = i+1 with open(os.path.join(self.get_project_dir(), unique), 'w') as out: out.write('') out.close() project['filename'] = unique if project_is_new: pdb.new(project) else: for key, value in project.iteritems(): pdb.set(project_id, key, value) pdb.modified(project_id) self.redirect(self.request.uri)