diff options
author | René 'Necoro' Neumann <necoro@necoro.net> | 2017-03-04 23:50:45 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.net> | 2017-03-04 23:50:45 +0100 |
commit | e13ba704bcbbc97b5660e5465db714bf6dbbaad0 (patch) | |
tree | d501d7a8b9a6a11b8714017a0129a3fa615c6e16 /archivist/model.py | |
parent | 925242bf83ca0cb3ca12c490b53813bd85d8b59f (diff) | |
download | archivist-e13ba704bcbbc97b5660e5465db714bf6dbbaad0.tar.gz archivist-e13ba704bcbbc97b5660e5465db714bf6dbbaad0.tar.bz2 archivist-e13ba704bcbbc97b5660e5465db714bf6dbbaad0.zip |
Prefixes, Tags, and Implications
Diffstat (limited to 'archivist/model.py')
-rw-r--r-- | archivist/model.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/archivist/model.py b/archivist/model.py index 375f13d..fa24304 100644 --- a/archivist/model.py +++ b/archivist/model.py @@ -65,6 +65,16 @@ class Prefix(BaseModel): virtual = BooleanField(default = False) description = CharField(null=True) + @classmethod + @db.atomic() + def create(cls, **query): + inst = super().create(**query) + Tag.create_prefix_default(inst) + + @property + def default_tag(self): + return Tag.get(prefix = self, default = True) + def __str__ (self): return self.name @@ -77,6 +87,11 @@ class Tag(BaseModel): name = CharField() prefix = ForeignKeyField(Prefix, null=True, related_name = 'tag', db_column = 'prefix') description = CharField(null=True) + default = BooleanField(default = False) + + @classmethod + def create_prefix_default(cls,prefix): + return cls.create(name = '*', prefix = prefix, description = "Default for prefix '%s'" % prefix, default = True) @hybrid_method def matches(self, prefix, name): |