diff --git a/gracedb/core/models.py b/gracedb/core/models.py index 53e4221cbd750d41fe794ca668b504804bc1e110..e9be116ab0183fc261e886b1e6b508d33023e2ca 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 771750211d16d264ecc03404e5e23dbf3e43763e..60972b06ae4af3877497bc3217a7396cc0e65577 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 06118e239b9290b286d871dc13a7df2da97ccd5d..ac3146e10f7877fdb152ad157ae7828659e51f4e 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):