summaryrefslogtreecommitdiffstats
path: root/autowaf.py
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2012-04-17 00:04:32 +0000
committerDavid Robillard <d@drobilla.net>2012-04-17 00:04:32 +0000
commite520d6a8aa0f8ba9920a4d55ed4d94753c5f6e7a (patch)
treeddedb507ffa8c980b8a01f3cb62995814bd60087 /autowaf.py
parenta179bbf32788769632be1b8317f486f10b780fb6 (diff)
downloadautowaf-e520d6a8aa0f8ba9920a4d55ed4d94753c5f6e7a.tar.gz
autowaf-e520d6a8aa0f8ba9920a4d55ed4d94753c5f6e7a.tar.bz2
autowaf-e520d6a8aa0f8ba9920a4d55ed4d94753c5f6e7a.zip
Parse all seeAlso file for generating NEWS, and be more tolerant of flaky release markup.
git-svn-id: http://svn.drobilla.net/autowaf@67 e2e4594f-ea7b-45dc-bc5a-5f5301e603aa
Diffstat (limited to 'autowaf.py')
-rw-r--r--autowaf.py18
1 files changed, 14 insertions, 4 deletions
diff --git a/autowaf.py b/autowaf.py
index 12d70b8..5bab8fb 100644
--- a/autowaf.py
+++ b/autowaf.py
@@ -613,7 +613,11 @@ def write_news(name, in_files, out_file):
Logs.warn('Error parsing data, unable to generate NEWS')
return
- proj = m.value(None, rdf.type, doap.Project)
+ proj = m.value(None, rdf.type, doap.Project)
+ for f in m.triples([proj, rdfs.seeAlso, None]):
+ if f[2].endswith('.ttl'):
+ m.parse(f[2], format='n3')
+
entries = {}
for r in m.triples([proj, doap.release, None]):
release = r[2]
@@ -629,9 +633,15 @@ def write_news(name, in_files, out_file):
entry += '\n * ' + '\n '.join(
textwrap.wrap(m.value(i[2], rdfs.label, None), width=79))
- entry += '\n\n -- %s <%s> %s\n\n' % (
- m.value(blamee, foaf.name, None),
- m.value(blamee, foaf.mbox, None).replace('mailto:', ''),
+ entry += '\n\n --'
+
+ blamee_name = m.value(blamee, foaf.name, None)
+ blamee_mbox = m.value(blamee, foaf.mbox, None)
+ if blamee_name and blamee_mbox:
+ entry += ' %s <%s>' % (blamee_name,
+ blamee_mbox.replace('mailto:', ''))
+
+ entry += ' %s\n\n' % (
strftime('%a, %d %b %Y %H:%M:%S +0000', strptime(date, '%Y-%m-%d')))
entries[revision] = entry