diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2017-02-26 17:29:56 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2017-02-26 17:29:56 +0100 |
commit | 413680326f4c1e6fb0e79bda70ec13533903078d (patch) | |
tree | 7d1e8164530e20448c04f591f5e7abad621fe8ee | |
parent | 74c99ddeb640b487ab4cdaf5dcb044bbffb1a778 (diff) | |
download | archivist-413680326f4c1e6fb0e79bda70ec13533903078d.tar.gz archivist-413680326f4c1e6fb0e79bda70ec13533903078d.tar.bz2 archivist-413680326f4c1e6fb0e79bda70ec13533903078d.zip |
Some repr and str improvements on the model
Diffstat (limited to '')
-rw-r--r-- | archivist/model.py | 28 |
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) |