def ChangeMonthCount(objHere, intYear, intMonth, intIncrease = 1, blnPublicCount = False): objE3Messages = GetDataFolder(objHere, 'E3Messages') if blnPublicCount: lstMessageCount = objE3Messages.PublicMessageCount else: lstMessageCount = objE3Messages.MessageCount blnFound = False lstResult = [] for strYearLine in lstMessageCount: if not blnFound and strYearLine[:4] == str(intYear): blnFound = True lstCounts = strYearLine.split() lstCounts[intMonth] = str(int(lstCounts[intMonth]) + intIncrease) strYearLine = " ".join(lstCounts) lstResult.append(strYearLine) if not blnFound: lstCounts = [] for intI in range(0, 13): lstCounts.append("0") lstCounts[intMonth] = str(intIncrease) lstCounts[0] = str(intYear) lstResult.append(" ".join(lstCounts)) if blnPublicCount: objE3Messages.PublicMessageCount = lstResult else: objE3Messages.MessageCount = lstResult
def CountPublicMessages(objHere): """Counts number of public messages by month/year, stores in E3Messages.PublicMessageCount""" dtmNow = datetime.datetime.today() objMessages = GetDataFolder(objHere, 'E3Messages') lstLines = [] for intYear in range(dtmNow.year, 1996, -1): strLine = str(intYear) for intMonth in range(1, 13): intCount = 0 try: objMonth = objMessages.unrestrictedTraverse('%s/%s-%s' % (intYear, intYear, str(intMonth).zfill(2))) except: objMonth = None if objMonth: for objThread in objMonth.objectValues(): if not objThread.Private: intCount += 1 for objMessage in objThread.objectValues('Folder'): if not objMessage.Private: intCount += 1 strLine = strLine + " " + str(intCount) lstLines.append(strLine) objMessages.PublicMessageCount = lstLines