def addProject(self, project): self.totalBudget += convertAmountStringToInteger(project.budget) self.projectCount += 1 self.subprojectCount += int(project.numberOfSubProjects) currentToPlace = project for i in range(3): if self.NLargest[i] is None: self.NLargest[i] = currentToPlace break elif convertAmountStringToInteger(self.NLargest[i].budget) < convertAmountStringToInteger( currentToPlace.budget): temp = self.NLargest[i] self.NLargest[i] = currentToPlace currentToPlace = temp
def addProject(self, project): self.totalBudget += convertAmountStringToInteger(project.budget) self.projectCount += 1 self.subprojectCount += int(project.numberOfSubProjects) currentToPlace = project for i in range(3): if self.NLargest[i] is None: self.NLargest[i] = currentToPlace break elif convertAmountStringToInteger( self.NLargest[i].budget) < convertAmountStringToInteger( currentToPlace.budget): temp = self.NLargest[i] self.NLargest[i] = currentToPlace currentToPlace = temp
def doLogCounts(): counts = [] for i in range(8): counts.append(0) for project in Project.objects.all(): counts[getLogBucketForAmount(project.budget)] += 1 if convertAmountStringToInteger(project.budget) >= 100000000: print("%s : %s (%s)" % (project.title, project.budget, project.codeNumber))
def doSumsPerOperationalProgram(): sums = {} mapping = {} for code in opProgsCodes: sums[code] = 0 for project in Project.objects.all(): sums[project.operationalProgramNumber] += convertAmountStringToInteger(project.budget) if project.operationalProgramNumber not in mapping: mapping[project.operationalProgramNumber] = project.operationalProgramTitle print(sums) total = 0 for k, v in sums.items(): total += v print(total)
def doSumsPerOperationalProgram(): sums = {} mapping = {} for code in opProgsCodes: sums[code] = 0 for project in Project.objects.all(): sums[project.operationalProgramNumber] += convertAmountStringToInteger( project.budget) if project.operationalProgramNumber not in mapping: mapping[project. operationalProgramNumber] = project.operationalProgramTitle print(sums) total = 0 for k, v in sums.items(): total += v print(total)
def getLogBucketForAmount(amount): value = convertAmountStringToInteger(amount) result = floor(log(value, 10)) - 2 if result < 0: result = 0 return result
def __init__(self, project): self.budget = convertAmountStringToInteger(project.budget) self.startDate = datetime.strptime(project.startDate, "%d/%m/%Y") self.opProgCode = project.operationalProgramNumber