diff --git a/beat/backend/python/algorithm.py b/beat/backend/python/algorithm.py index 7db30cda3d8c64db56c042c284083dc6d200215e..b6b66f0ac5e7acfa897855152aeb099ddccfc617 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 089618867c4fc176865219eb23d2c8c6976613ef..8dceb0df8bc5888d3083c2800f9ec0074dc91c14 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 f28604f58dd3f300737513e2aaf6ad46668274a5..055f1ce37fbed94f42a7c05d7c47660685b9d356 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 b02cac06f19c73ee508947cf2820e3ad06a99a9c..24ae4bb9c8212d755691d14eaf983f3524b9d095 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)