summaryrefslogtreecommitdiff
path: root/archivist/bl.py
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2017-10-05 18:05:21 +0200
committerRené 'Necoro' Neumann <necoro@necoro.net>2017-10-05 18:05:21 +0200
commit9994319ea5c86bad2f88ab737b9b82dfae43cd6a (patch)
tree92943c5ef789d3be375f630e74040535d01cc37e /archivist/bl.py
parent975b647a3274f299df7260b6597aa88be90a7bb8 (diff)
downloadarchivist-9994319ea5c86bad2f88ab737b9b82dfae43cd6a.tar.gz
archivist-9994319ea5c86bad2f88ab737b9b82dfae43cd6a.tar.bz2
archivist-9994319ea5c86bad2f88ab737b9b82dfae43cd6a.zip
Webservice to create a new tag
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