From 3dec3fdd6260ed5f96f8c5f3ab8d5e55aadd3be5 Mon Sep 17 00:00:00 2001 From: Branson Stephens <branson.stephens@ligo.org> Date: Thu, 21 Aug 2014 15:12:55 -0500 Subject: [PATCH] Changed weburl method on event to return a nicer file list view. --- gracedb/models.py | 5 +++-- gracedb/urls.py | 1 + gracedb/views.py | 25 ++++++++++++++++++++++++- templates/gracedb/event_filelist.html | 15 +++++++++++++++ 4 files changed, 43 insertions(+), 3 deletions(-) create mode 100644 templates/gracedb/event_filelist.html diff --git a/gracedb/models.py b/gracedb/models.py index 429321c70..17912f837 100644 --- a/gracedb/models.py +++ b/gracedb/models.py @@ -113,8 +113,9 @@ class Event(models.Model): def weburl(self): # XXX Not good. But then, it never was. - return "https://gracedb.ligo.org/gracedb-files/%s" % self.graceid() - return "https://ldas-jobs.phys.uwm.edu/gracedb/data/%s" % self.graceid() + #return "https://ldas-jobs.phys.uwm.edu/gracedb/data/%s" % self.graceid() + #return "https://gracedb.ligo.org/gracedb-files/%s" % self.graceid() + return reverse('file_list', args=[self.graceid()]) # XXX This should be considered deprecated. (Branson, July 22, 2014.) def clusterurl(self): diff --git a/gracedb/urls.py b/gracedb/urls.py index e2856b4f0..a77fc45a3 100644 --- a/gracedb/urls.py +++ b/gracedb/urls.py @@ -16,6 +16,7 @@ urlpatterns = patterns('gracedb.views', url (r'^skyalert/(?P<graceid>[GEHT]\d+)', 'skyalert', name="skyalert"), url (r'^neighbors/(?P<graceid>[GEHT]\d+)/\(?(?P<delta1>[-+]?\d+)(,(?P<delta2>[-+]?\d+)\)?)?', 'neighbors', name="neighbors"), url (r'^(?P<graceid>[GEHT]\d+)$', 'view', name="view2"), + url (r'^(?P<graceid>[GEHT]\d+)/files/$', 'file_list', name="file_list"), url (r'^(?P<graceid>[GEHT]\d+)/files/(?P<filename>.*)$', download, name="file"), url (r'^(?P<graceid>[GEHT]\d+)/log/(?P<num>([\d]*|preview))$', 'logentry', name="logentry"), url (r'^(?P<graceid>[GEHT]\d+)/log/(?P<num>\d+)/tag/(?P<tagname>\w+)$', 'taglogentry', name="taglogentry"), diff --git a/gracedb/views.py b/gracedb/views.py index e9f6036a5..2131e92df 100644 --- a/gracedb/views.py +++ b/gracedb/views.py @@ -1285,4 +1285,27 @@ def performance(request): 'gracedb/performance.html', context, context_instance=RequestContext(request)) - + +# A view for the list of files associated with an event. +# We're deliberately leaving out the /general directory. +# The idea is to get rid of that horrible /gracedb-files/ url. +def file_list(request, graceid): + try: + event = Event.getByGraceid(graceid) + except Event.DoesNotExist: + return HttpResponseNotFound("Event not found") + + f = [] + for dirname, dirnames, filenames in os.walk(event.datadir()): + f.extend(filenames) + break + + context = {} + context['file_list'] = f + context['title'] = 'Files for %s' % graceid + context['graceid'] = graceid + + return render_to_response( + 'gracedb/event_filelist.html', + context, + context_instance=RequestContext(request)) diff --git a/templates/gracedb/event_filelist.html b/templates/gracedb/event_filelist.html new file mode 100644 index 000000000..1f413294a --- /dev/null +++ b/templates/gracedb/event_filelist.html @@ -0,0 +1,15 @@ +{% extends "base.html" %} +{% block title %}{{ title }}{% endblock %} +{% block heading %}{{ title }}{% endblock %} +{% block pageid %}event files{% endblock %} + +{% block content %} +<p>{{ message }}</p> + +<ul> +{% for filename in file_list %} +<li><a href="{% url "file" graceid filename %}">{{ filename }}</a></li> +{% endfor %} +</ul> + +{% endblock %} -- GitLab