summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/model/tag.py
diff options
context:
space:
mode:
authorKali Kaneko <kali@leap.se>2017-07-25 11:40:11 -0400
committerKali Kaneko <kali@leap.se>2017-07-25 11:40:29 -0400
commit91e4481c450eb7eb928debc1cb7fa59bdb63dd7b (patch)
tree8fd7e6e77b6df669c33d96b7edad6db3cbe14dfe /service/pixelated/adapter/model/tag.py
parente4f755309d4cf5cfb6b0bcc62ed73d6070956ab5 (diff)
[pkg] packaging and path changes
- move all the pixelated python package under src/ - move the pixelated_www package under the leap namespace - allow to set globally the static folder - add hours and minutes to the timestamp in package version, to allow for several releases a day.
Diffstat (limited to 'service/pixelated/adapter/model/tag.py')
-rw-r--r--service/pixelated/adapter/model/tag.py73
1 files changed, 0 insertions, 73 deletions
diff --git a/service/pixelated/adapter/model/tag.py b/service/pixelated/adapter/model/tag.py
deleted file mode 100644
index ca62a1fe..00000000
--- a/service/pixelated/adapter/model/tag.py
+++ /dev/null
@@ -1,73 +0,0 @@
-#
-# Copyright (c) 2014 ThoughtWorks, Inc.
-#
-# Pixelated is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# Pixelated is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
-
-import json
-
-
-class Tag(object):
-
- @classmethod
- def from_dict(cls, tag_dict):
- tag = Tag(tag_dict['name'], tag_dict['default'])
- tag.mails = set(tag_dict['mails'])
- return tag
-
- @classmethod
- def from_json_string(cls, json_string):
- tag_dict = json.loads(json_string)
- tag_dict['mails'] = set(tag_dict['mails'])
- return Tag.from_dict(tag_dict)
-
- @property
- def total(self):
- return len(self.mails)
-
- def __init__(self, name, default=False):
- self.name = name.lower()
- self.ident = self.name.__hash__()
- self.default = default
- self.mails = set()
-
- def __eq__(self, other):
- return self.name == other.name
-
- def __hash__(self):
- return self.name.__hash__()
-
- def increment(self, mail_ident):
- self.mails.add(mail_ident)
-
- def decrement(self, mail_ident):
- self.mails.discard(mail_ident)
-
- def as_dict(self):
- return {
- 'name': self.name,
- 'default': self.default,
- 'ident': self.ident,
- 'counts': {'total': self.total,
- 'read': 0,
- 'starred': 0,
- 'replied': 0},
- 'mails': list(self.mails)
- }
-
- def as_json_string(self):
- tag_dict = self.as_dict()
- return json.dumps(tag_dict)
-
- def __repr__(self):
- return self.name