From f2463d936bd70a97c9229d5256a8f31d7a543e69 Mon Sep 17 00:00:00 2001 From: Tanner Prestegard <tanner.prestegard@ligo.org> Date: Thu, 28 Jun 2018 09:34:57 -0500 Subject: [PATCH] Useful file-related utility methods for logs --- gracedb/core/models.py | 10 ++++++++++ gracedb/events/models.py | 5 +---- gracedb/superevents/models.py | 7 +++---- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/gracedb/core/models.py b/gracedb/core/models.py index 53e4221cb..e9be116ab 100644 --- a/gracedb/core/models.py +++ b/gracedb/core/models.py @@ -213,6 +213,16 @@ class LogBase(models.Model): abstract = True ordering = ['-created', '-N'] + @property + def full_filename(self): + if self.filename: + actual_filename = self.filename + if self.file_version is not None: + actual_filename += ",{n}".format(n=self.file_version) + else: + actual_filename = None + return actual_filename + def fileurl(self): # Override this on derived classes return NotImplemented diff --git a/gracedb/events/models.py b/gracedb/events/models.py index 771750211..60972b06a 100644 --- a/gracedb/events/models.py +++ b/gracedb/events/models.py @@ -357,11 +357,8 @@ class EventLog(CleanSaveModel, LogBase, AutoIncrementModel): def fileurl(self): if self.filename: - actual_filename = self.filename - if self.file_version >= 0: - actual_filename += ',%d' % self.file_version return reverse('file-download', args=[self.event.graceid(), - actual_filename]) + self.full_filename]) else: return None diff --git a/gracedb/superevents/models.py b/gracedb/superevents/models.py index 06118e239..ac3146e10 100644 --- a/gracedb/superevents/models.py +++ b/gracedb/superevents/models.py @@ -346,12 +346,11 @@ class Log(CleanSaveModel, LogBase, AutoIncrementModel): unique_together = (('superevent', 'N'),) def get_full_file_path(self): - # TODO: add file_version? - return os.path.join(self.superevent.datadir, self.filename) + return os.path.join(self.superevent.datadir, self.full_filename) def fileurl(self): - # TODO: implement this - super(Log, self).fileurl() + return reverse("superevents:file-download", args= + [self.superevent.superevent_id, self.full_filename]) class Labelling(m2mThroughBase): -- GitLab