From ab6234d33e936e047cbff922f5f0db9807af098f Mon Sep 17 00:00:00 2001
From: Philip ABBET <philip.abbet@idiap.ch>
Date: Tue, 9 Jan 2018 15:42:59 +0100
Subject: [PATCH] Add missing usages of the 'Prefix' class

---
 beat/backend/python/algorithm.py  | 6 +++++-
 beat/backend/python/database.py   | 7 ++++++-
 beat/backend/python/dataformat.py | 7 ++++++-
 beat/backend/python/library.py    | 8 ++++++--
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/beat/backend/python/algorithm.py b/beat/backend/python/algorithm.py
index 7db30cd..b6b66f0 100755
--- a/beat/backend/python/algorithm.py
+++ b/beat/backend/python/algorithm.py
@@ -63,9 +63,13 @@ class Storage(utils.CodeStorage):
             raise RuntimeError("invalid algorithm name: `%s'" % name)
 
         self.username, self.name, self.version = name.split('/')
-        self.prefix = prefix
         self.fullname = name
 
+        if isinstance(prefix, utils.Prefix):
+            self.prefix = prefix
+        else:
+            self.prefix = utils.Prefix(prefix)
+
         path = utils.hashed_or_simple(self.prefix, 'algorithms', name + '.json')
         path = path[:-5]
         super(Storage, self).__init__(path, language)
diff --git a/beat/backend/python/database.py b/beat/backend/python/database.py
index 0896188..8dceb0d 100755
--- a/beat/backend/python/database.py
+++ b/beat/backend/python/database.py
@@ -68,7 +68,12 @@ class Storage(utils.CodeStorage):
         self.name, self.version = name.split('/')
         self.fullname = name
 
-        path = prefix.path(os.path.join('databases', name + '.json'))
+        if isinstance(prefix, utils.Prefix):
+            self.prefix = prefix
+        else:
+            self.prefix = utils.Prefix(prefix)
+
+        path = self.prefix.path(os.path.join('databases', name + '.json'))
         path = path[:-5]
         super(Storage, self).__init__(path, 'python') #views are coded in Python
 
diff --git a/beat/backend/python/dataformat.py b/beat/backend/python/dataformat.py
index f28604f..055f1ce 100755
--- a/beat/backend/python/dataformat.py
+++ b/beat/backend/python/dataformat.py
@@ -64,7 +64,12 @@ class Storage(utils.Storage):
         self.username, self.name, self.version = name.split('/')
         self.fullname = name
 
-        path = utils.hashed_or_simple(prefix, 'dataformats', name + '.json')
+        if isinstance(prefix, utils.Prefix):
+            self.prefix = prefix
+        else:
+            self.prefix = utils.Prefix(prefix)
+
+        path = utils.hashed_or_simple(self.prefix, 'dataformats', name + '.json')
         path = path[:-5]
         super(Storage, self).__init__(path)
 
diff --git a/beat/backend/python/library.py b/beat/backend/python/library.py
index b02cac0..24ae4bb 100755
--- a/beat/backend/python/library.py
+++ b/beat/backend/python/library.py
@@ -29,7 +29,7 @@
 """Validation for libraries"""
 
 import os
-
+import six
 import simplejson
 
 from . import loader
@@ -58,9 +58,13 @@ class Storage(utils.CodeStorage):
             raise RuntimeError("invalid library name: `%s'" % name)
 
         self.username, self.name, self.version = name.split('/')
-        self.prefix = prefix
         self.fullname = name
 
+        if isinstance(prefix, utils.Prefix):
+            self.prefix = prefix
+        else:
+            self.prefix = utils.Prefix(prefix)
+
         path = utils.hashed_or_simple(self.prefix, 'libraries', name + '.json')
         path = path[:-5]
         super(Storage, self).__init__(path, language)
-- 
GitLab