def createConditions(secondaryJobs, project): conditionObjects = [] for cond, jobs in secondaryJobs.iteritems(): condRows = csv[csv["Name"] == cond] extraCols = filter(lambda x: x.startswith("p_"), condRows.dtype.names) extrasDict = {} for col in extraCols: extrasDict[col] = list(n.unique(condRows[col])) extrasJSON = simplejson.dumps(extrasDict) extractBy = ["( %s )" % e for e in n.unique(condRows["ExtractBy"])] extractByString = " | ".join(extractBy) condObj = Condition( name=cond, extractBy=extractByString, extrasDict=extrasJSON, project=project, status=enums.getChoice(enums.CONDITION_STATUS, "INSTANTIATED"), ) condObj.save() # Add secondary jobs to condition object condObj.secondaryJob.add(*jobs) conditionObjects.append(condObj) return conditionObjects
def createProject(pDict): if pDict is None: pDict = {} projects = Project.objects.count() if projects: lastProject = Project.objects.all().order_by("-projectID")[0] projectID = lastProject.projectID + 1 else: projectID = 1 project = Project( projectID=projectID, name=pDict.get("name", "dummy"), description=pDict.get("description", "dummy"), tags=pDict.get("tags", None), status=pDict.get("status", enums.getChoice(enums.PROJECT_STATUS, "INSTANTIATED")), ) project.save() return project