From 5f6915a9718886d2c27edb9dfce809c05a4bcb8d Mon Sep 17 00:00:00 2001
From: Brian Moe <brian.moe@ligo.org>
Date: Tue, 30 Mar 2010 16:09:50 -0500
Subject: [PATCH] Added author/pubdate/time info to RSS data Time info includes
 event time and creation time in both UTC and GPS time formats, plus reporting
 latency.

---
 gracedb/feeds.py                        |  6 ++++++
 gracedb/templatetags/timeutil.py        |  7 +++++++
 templates/feeds/latest_description.html | 16 +++++++++++++++-
 3 files changed, 28 insertions(+), 1 deletion(-)

diff --git a/gracedb/feeds.py b/gracedb/feeds.py
index 88750c179..332f1fd3c 100644
--- a/gracedb/feeds.py
+++ b/gracedb/feeds.py
@@ -53,6 +53,12 @@ class EventFeed(Feed):
     def item_link(self, obj):
         return reverse(view, args=[obj.graceid()])
 
+    def item_author_name(self, obj):
+        return obj.submitter.name
+
+    def item_pubdate(self, obj):
+        return obj.created
+
     def description(self, obj):
         # XXX Descriptive text for the feed itself.
         # I don't know what to put here
diff --git a/gracedb/templatetags/timeutil.py b/gracedb/templatetags/timeutil.py
index 9ba3bfb15..a3d5da3d4 100644
--- a/gracedb/templatetags/timeutil.py
+++ b/gracedb/templatetags/timeutil.py
@@ -115,6 +115,13 @@ def utc(dt, format=FORMAT):
 def gpsdate(gpstime, format=FORMAT):
     return dateformat.format(gpsToUtc(gpstime), format)
 
+@register.filter
+def gpstime(dt):
+    if not dt.tzinfo:
+        dt = SERVER_TZ.localize(dt)
+    posix_time = time.mktime(dt.timetuple())
+    gps_time = int(posixToGpsTime(posix_time))
+    return gps_time
 
 def timeSelections(t):
     rv = {}
diff --git a/templates/feeds/latest_description.html b/templates/feeds/latest_description.html
index db8d88f78..919b670b2 100644
--- a/templates/feeds/latest_description.html
+++ b/templates/feeds/latest_description.html
@@ -1,7 +1,21 @@
 {% load timeutil %}
+
+<table>
+ <tr><td>Created:</td>
+     <td>{{ obj.created|utc }}</td>
+     <td>{{ obj.created|gpstime }}</td>
+ </tr>
+{% if obj.gpstime %}
+ <tr><td>Event Time:</td>
+     <td>{{ obj.gpstime|gpsdate }}</td>
+     <td>{{ obj.gpstime }}</td>
+ </tr>
+ <tr><td>Reporting Latency:</td>
+     <td colspan="w">{{ obj.reportingLatency }} seconds</td></tr>
+{% endif %}
+</table>
 <ul>
     <li><a href="{{ obj.weburl }}">Data</a></li>
     <li><a href="{{ obj.wikiurl }}">TWiki</a></li>
 </ul>
 Sumbmitter: {{ obj.submitter.name }}<br/>
-Created: {{ obj.created|utc }}
-- 
GitLab