summaryrefslogtreecommitdiff
path: root/archivist/bl.py
diff options
context:
space:
mode:
Diffstat (limited to 'archivist/bl.py')
-rw-r--r--archivist/bl.py22
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