in assets/development/digest/genCVSlog.py [0:0]
def processMessage ( message ):
headers = parser.parsestr ( message, True )
if verbose: print >>sys.stderr, "************\nsubject =", headers[ "Subject" ]
#### if headers["Subject"] and headers[ "Subject" ].find ( "CVS update" ) != -1 :
#if ( message.find ( "Subject: CVS update" ) != -1 ) or \
if headers["Subject"] and headers[ "Subject" ].find ( "CVS update" ) != -1:
#convert from format : 21 Oct 2003 08:24:30 -0000
#to the tuple : (2003, 10, 21, 8, 53, 54, 1, 294, 0)
msgTime = time.strptime ( headers[ "Date" ], "%d %b %Y %H:%M:%S -0000" )
global oldest
global youngest
realMsgTime = time.mktime(msgTime)
if realMsgTime < oldest or oldest == 0:
oldest = realMsgTime
if realMsgTime > youngest or youngest == 0:
youngest = realMsgTime
dayOfYear = 300 ### time.strftime ( "%j", msgTime )
#print "checking this date", msgTime, ": ", sinceDay, "=? ", int(dayOfYear)
if 1: #int(dayOfYear) >= sinceDay:
#print "process this \n", message
log = CVSLog2 ( message )
if verbose:
log.printLog()
createAll = False
if not logs .has_key ( log.tag ):
logs [ log.tag ] = {}
createAll = True
if summarizeIntegration and log.change=="integrated":
log.comment = "<a name='merged_%s'></a><span class='comment'>%s</span>" % \
( log.mergedBranch, log.mergedBranch )
log.comment += "[ <a href='%s#%s'>description</a>]" % (
"http://development.openoffice.org/releases/OOo_2_0_timetable.html", \
log.mergedBranch, )
if not log.user in developers:
developers.append ( log.user )
if createAll or not logs [ log.tag ].has_key( log.user ):
logs [ log.tag ][log.user] = {}
createAll = True
if createAll or not logs [ log.tag ][log.user].has_key( log.change ):
logs [ log.tag ][log.user][log.change] = {}
createAll = True
if createAll or not logs [ log.tag ][log.user][log.change].has_key( log.comment ):
logs [ log.tag ][log.user][log.change][log.comment] = []
if len(log.URLs) :
#print >>sys.stderr, "files:", log.URLs
logs [ log.tag ] [ log.user ] [ log.change ] [ log.comment ] += log.URLs
if log.change=="integrated" or ( log.change=="modified" and \
( log.comment.find(u"RESYNC:; FILE MERGED") != -1 ) ):
pass
else:
for url in log.URLs:
match = projectMatch.search ( url )
if not projects.has_key ( match.group(1) ):
projects[match.group(1)] = []
if log.tag in projects[match.group(1)] : pass
else:
projects[match.group(1)].append ( log.tag )
else:
if log.change != "removed" and len(log.files) == 0:
print >>sys.stderr, "no files and no URLs!!"
print >>sys.stderr, "message=", message
log.printLog()
logs [ log.tag ] [ log.user ] [ log.change ] [ log.comment ].append( log.files )