diff options
author | Victor Shyba <victor.shyba@gmail.com> | 2014-08-11 17:24:36 -0300 |
---|---|---|
committer | Victor Shyba <victor.shyba@gmail.com> | 2014-08-11 17:24:36 -0300 |
commit | 582ef39f46f88e43704df871470dfe7218cb3aa8 (patch) | |
tree | 57ac8921db1e8b3a378363a75f07130dbc3e71b1 /service/app | |
parent | 690975d4bcc80a14cf85649cb8db163424b93cf2 (diff) |
first implementation of tags
Diffstat (limited to 'service/app')
-rw-r--r-- | service/app/tags.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/service/app/tags.py b/service/app/tags.py new file mode 100644 index 00000000..39709a4c --- /dev/null +++ b/service/app/tags.py @@ -0,0 +1,32 @@ +class Tag: + + def __init__(self, name): + self.name = name + + def __eq__(self, other): + return self.name == other.name + + def __hash__(self): + return self.name.__hash__() + + +class Tags: + + SPECIAL_TAGS = ['inbox', 'sent', 'drafts', 'trash'] + + def __init__(self): + self.tags = set([Tag(name) for name in self.SPECIAL_TAGS]) + + def add(self, name): + self.tags.add(Tag(name)) + + def find(self, name): + for tag in self.tags: + if tag.name == name: + return tag + + def __len__(self): + return len(self.tags) + + def __iter__(self): + return self.tags.__iter__()
\ No newline at end of file |