diff options
Diffstat (limited to 'archivist/bl.py')
-rw-r--r-- | archivist/bl.py | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/archivist/bl.py b/archivist/bl.py index 0815cf6..849f2bb 100644 --- a/archivist/bl.py +++ b/archivist/bl.py @@ -34,19 +34,19 @@ class PrefixTag: def load(self): return m.Tag.get(name = self.name, prefix = self.prefix) + @db.atomic() def create(self): - with db.atomic(): - if self.prefix: - prefix, created = m.Prefix.get_or_create(name = self.prefix) + if self.prefix: + prefix, created = m.Prefix.get_or_create(name = self.prefix) - if not created and prefix.virtual: - raise BusinessException("Prefix '%s' is not allowed to carry additional tags." % self.prefix) - else: - prefix = None + if not created and prefix.virtual: + raise BusinessException("Prefix '%s' is not allowed to carry additional tags." % self.prefix) + else: + prefix = None - tag, created = m.Tag.create_or_get(name = self.name, prefix = self.prefix, description = self.description) + tag, created = m.Tag.create_or_get(name = self.name, prefix = self.prefix, description = self.description) - if prefix is not None: - m.TagImplications.try_create(tag = tag, implies_tag = prefix.default_tag) + if prefix is not None: + m.TagImplications.try_create(tag = tag, implies_tag = prefix.default_tag) - return tag, created + return tag, created |