From 582ef39f46f88e43704df871470dfe7218cb3aa8 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Mon, 11 Aug 2014 17:24:36 -0300 Subject: first implementation of tags --- service/app/tags.py | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 service/app/tags.py (limited to 'service/app') 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 -- cgit v1.2.3