Rev 5455: Recognize release dates. in file:///home/vila/src/bzr/experimental/fixed-in/
Vincent Ladeuil
v.ladeuil+lp at free.fr
Tue Sep 28 09:43:07 BST 2010
At file:///home/vila/src/bzr/experimental/fixed-in/
------------------------------------------------------------
revno: 5455
revision-id: v.ladeuil+lp at free.fr-20100928084307-q750dysyvzy5cp8p
parent: v.ladeuil+lp at free.fr-20100928081347-qa8hjrdrmfd5g2s0
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: fixed-in
timestamp: Tue 2010-09-28 10:43:07 +0200
message:
Recognize release dates.
-------------- next part --------------
=== modified file 'tools/fixed-in.py'
--- a/tools/fixed-in.py 2010-09-28 08:13:47 +0000
+++ b/tools/fixed-in.py 2010-09-28 08:43:07 +0000
@@ -18,7 +18,8 @@
def __init__(self, news):
self.news = news
# Temporary attributes used by the parser
- self.relese = None
+ self.release = None
+ self.date = None
self.may_be_release = None
self.release_markup = None
self.entry = ''
@@ -42,6 +43,25 @@
if self.may_be_release is not None and self.lrs == self.release_markup:
# The release is followed by the right markup
self.release = self.may_be_release[self.release_prefix_length:]
+ # Wait for the associated date
+ self.date = None
+ return True
+ return False
+
+ def try_date(self):
+ if self.release is None:
+ return False
+ date_re = re.compile(':%s: (NOT RELEASED YET|\d{4}-\d{2}-\d{2})'
+ % (self.release,))
+ match = date_re.match(self.lrs)
+ if match is not None:
+ self.date = match.group(1)
+ return True
+ # The old fashion way
+ released_re = re.compile(':Released:\s+(\d{4}-\d{2}-\d{2})')
+ match = released_re.match(self.lrs)
+ if match is not None:
+ self.date = match.group(1)
return True
return False
@@ -80,7 +100,8 @@
authors = par[:start]
for bug_match in bugs:
bug_number = bug_match.group(0)
- yield (bug_number, authors, self.release, self.entry)
+ yield (bug_number, authors,
+ self.release, self.date, self.entry)
# We've consumed the entry
self.entry = ''
@@ -94,6 +115,8 @@
continue
finally:
self.may_be_release = None
+ if self.try_date():
+ continue
if self.add_line_to_entry():
continue
for b in self.extract_bugs_from_entry():
@@ -118,14 +141,12 @@
try:
seen = 0
for b in parser.parse_bugs():
- #(number, release, date, author, entry) = b
- (number, authors, release, entry,) = b
- (date,) = ('2010-01-01',)
+ (number, authors, release, date, entry,) = b
# indent entry
entry = '\n'.join([' ' + l for l in entry.splitlines()])
if number[1:] == bug: # Strip the leading '#'
- print 'Bug %s was fixed in bzr-%s by %s:' % (
- number, release, authors)
+ print 'Bug %s was fixed in bzr-%s/%s by %s:' % (
+ number, release, date, authors)
print entry
seen += 1
finally:
More information about the bazaar-commits
mailing list