summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.net>2017-02-26 17:29:56 +0100
committerRené 'Necoro' Neumann <necoro@necoro.net>2017-02-26 17:29:56 +0100
commit413680326f4c1e6fb0e79bda70ec13533903078d (patch)
tree7d1e8164530e20448c04f591f5e7abad621fe8ee
parent74c99ddeb640b487ab4cdaf5dcb044bbffb1a778 (diff)
downloadarchivist-413680326f4c1e6fb0e79bda70ec13533903078d.tar.gz
archivist-413680326f4c1e6fb0e79bda70ec13533903078d.tar.bz2
archivist-413680326f4c1e6fb0e79bda70ec13533903078d.zip
Some repr and str improvements on the model
-rw-r--r--archivist/model.py28
1 files changed, 25 insertions, 3 deletions
diff --git a/archivist/model.py b/archivist/model.py
index 656926c..79b0514 100644
--- a/archivist/model.py
+++ b/archivist/model.py
@@ -51,6 +51,14 @@ class Prefix(BaseModel):
def __str__ (self):
return self.name
+ def __repr__ (self):
+ if self.builtin:
+ ext = ' (bp)' if self.pseudo else ' (b)'
+ else:
+ ext = ''
+
+ return "<%s %s%s>" % (self.__class__.__name__, self.name, ext)
+
@table
class Tag(BaseModel):
name = CharField()
@@ -59,18 +67,29 @@ class Tag(BaseModel):
@hybrid_method
def matches(self, prefix, name):
- return (self.prefix == prefix) & (self.name == name)
+ if isinstance(prefix, Prefix):
+ prefix = prefix.name
+
+ return (self.prefix_id == prefix) & (self.name == name)
class Meta:
indexes = [
(('name', 'prefix'), True)
]
+ def prefixed_name(self):
+ if self.prefix_id:
+ return "%s:%s" % (self.prefix_id, self.name)
+ else:
+ return self.name
+
def __str__(self):
- prefix = self.prefix.name + ':' if self.prefix else ''
description = ' -- ' + self.description if self.description else ''
- return prefix + self.name + description
+ return self.prefixed_name() + description
+
+ def __repr__(self):
+ return "<%s (#%d) %s>" % (self.__class__.__name__, self.id, self.prefixed_name())
@table
class DocumentTag(BaseModel):
@@ -87,3 +106,6 @@ class TagImplications(BaseModel):
class Meta:
primary_key = CompositeKey('tag', 'implies_tag')
+
+ def __repr__(self):
+ return "<%s %d --> %d>" % (self.__class__.__name__, self.tag_id, self.implies_tag_id)