From 713944a16b861e1bd2f1da85fb45e9c4cc550498 Mon Sep 17 00:00:00 2001
From: David Robillard <d@drobilla.net>
Date: Fri, 8 Aug 2014 04:11:52 +0000
Subject: Order history entries by date.

---
 lv2specgen/lv2specgen.py |  2 +-
 wscript                  | 17 +++++++++--------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/lv2specgen/lv2specgen.py b/lv2specgen/lv2specgen.py
index 72845af..f62de8d 100755
--- a/lv2specgen/lv2specgen.py
+++ b/lv2specgen/lv2specgen.py
@@ -964,7 +964,7 @@ def specHistoryEntries(m, subject, entries={}):
         entry += '<dd><ul>\n%s' % releaseChangeset(m, release)
 
         if dist is not None:
-            entries[getObject(dist)] = entry
+            entries[(getObject(created), getObject(dist))] = entry
 
     return entries
 
diff --git a/wscript b/wscript
index 95d7f8c..841594f 100644
--- a/wscript
+++ b/wscript
@@ -259,13 +259,15 @@ def build_index(task):
     dists = []
     for r in model.triples([proj, doap.release, None]):
         revision = model.value(r[2], doap.revision, None)
+        created  = model.value(r[2], doap.created, None)
         if str(revision) == VERSION:
-            date = model.value(r[2], doap.created, None)
+            date = created
 
         dist = model.value(r[2], doap['file-release'], None)
-        if dist:
-            dists += [dist]
-    dists.sort()
+        if dist and created:
+            dists += [(created, dist)]
+        else:
+            print('warning: %s has no file release\n' % proj)
 
     # Get history for this LV2 release
     entries = lv2specgen.specHistoryEntries(model, proj)
@@ -279,13 +281,12 @@ def build_index(task):
         spec = m.value(None, rdf.type, lv2.Specification)
         if spec:
             for dist in dists:
-                release = m.value(None, doap['file-release'], dist)
+                release = m.value(None, doap['file-release'], dist[1])
                 if release:
                     entries[dist] += lv2specgen.releaseChangeset(m, release, str(name))
 
-    # Filter entries for post-unification LV2 distributions only
-    unified_entries = { dist: entries[dist] for dist in dists }
-    history         = lv2specgen.specHistoryMarkup(unified_entries)
+    # Generate history for all post-unification LV2 distributions
+    history = lv2specgen.specHistoryMarkup(entries)
 
     global index_lines
     rows = []
-- 
cgit v1.2.1