From 94e56b5d8cdda1d9a1c8b7667c653dbd0b83539e Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Thu, 21 Apr 2016 17:13:44 +0200
Subject: [PATCH] [experiments] Add function to return relative paths to caches

---
 beat/web/experiments/models.py | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/beat/web/experiments/models.py b/beat/web/experiments/models.py
index 4e086ef87..3cd92a807 100644
--- a/beat/web/experiments/models.py
+++ b/beat/web/experiments/models.py
@@ -599,6 +599,13 @@ class Experiment(Shareable):
     def core(self):
         return validate_experiment(self.declaration, self.toolchain.declaration)[0]
 
+    def job_splits(self, status=None):
+        from ..backend.models import JobSplit
+        retval = JobSplit.objects.filter(job__block__in=self.blocks)
+        if state is not None:
+            retval = retval.filter(status=status)
+        return retval
+
     def get_absolute_url(self):
         return reverse(
                 'experiments:view',
@@ -1127,14 +1134,19 @@ class CachedFile(models.Model):
     def path(self):
         '''Returns the full path prefix to the cached file on disk'''
 
-        return os.path.join(settings.CACHE_ROOT,
-            beat.core.hash.toPath(self.hash, suffix=''))
+        return beat.core.hash.toPath(self.hash, suffix='')
+
+
+    def absolute_path(self):
+        '''Returns the full path prefix to the cached file on disk'''
+
+        return os.path.join(settings.CACHE_ROOT, self.relative_path())
 
 
     def files(self):
         '''Returns a list of files matching this cache prefix path'''
 
-        return glob.glob(self.path() + '*')
+        return glob.glob(self.absolute_path() + '*')
 
 
     def exists(self):
-- 
GitLab