#!/usr/bin/env python

import sys, os, shutil, re

os.putenv('CVSROOT', ':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot')

pipe = os.popen("cvs checkout mozilla/browser/config/version.txt")
ctx = pipe.readlines()
pipe.close()

pipe = os.popen("cvs log mozilla/browser/config/version.txt")
content = pipe.readlines()
pipe.close()

shutil.rmtree('mozilla')

ctx = ''
lines1 = [line.rstrip('\n') for line in content]
lines = ''.join([line for line in lines1])

rec = re.compile('symbolic names:(.*)keyword substitution(.*)')
res = rec.search(lines)
if not res:
    print "failed.."
    sys.exit(0)

ctx = [line for line in res.groups()[0].split('\t') if line != '']

aBuildDict = {}
for line in ctx:
    name, rev = line.split()
    aBuildDict.setdefault(name.strip(':'), {}).setdefault('rev', rev)

ctx = res.groups()[1]
delList = []

for k, v in aBuildDict.iteritems():
    rec = re.compile('%sdate:\s+(\w+/\w+/\w+\s+\w+:\w+:\w+);' % v['rev'])
    res = rec.search(ctx)
    if not res:
#       print "failed to search %s..." % v['rev']
        delList.append(k)
    else:
        aBuildDict.setdefault(k, {}).setdefault("timestamp", res.groups()[0])

for k in delList:
    del aBuildDict[k]

BuildList = []
for k, v in (aBuildDict.iteritems()):
    BuildList.append((v['timestamp'], k, v['rev']))

BuildList.sort()
for t, r, n in BuildList:
    print "[%s], [%s], [%s]" % (t, r, n)
