From 011c0980341ebf30b99ba877fb0552edcb54f5e6 Mon Sep 17 00:00:00 2001 From: gryf Date: Fri, 18 Nov 2016 19:05:05 +0100 Subject: [PATCH] Adde base class for primitive objects --- slack_backup/objects.py | 53 +++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/slack_backup/objects.py b/slack_backup/objects.py index 99ce40a..d04c7c5 100644 --- a/slack_backup/objects.py +++ b/slack_backup/objects.py @@ -2,34 +2,47 @@ Convinient object mapping from slack API reponses """ -class Purpose(object): +class Base(object): def __init__(self, data_dict=None): data_dict = data_dict or {} self.creator = data_dict.get('creator', '') self.last_set = data_dict.get('last_set', 0) self.value = data_dict.get('value') + def __repr__(self): + return u"<%s %s>" % (str(hex(id(self))), self.__unicode__()) -class Topic(object): - def __init__(self, data_dict=None): - data_dict = data_dict or {} - self.creator = data_dict.get('creator', '') - self.last_set = data_dict.get('last_set', 0) - self.value = data_dict.get('value') + def __unicode__(self): + return u", %s" % self.value + + +class Purpose(Base): + pass + + +class Topic(Base): + pass class Channel(object): - def __init__(self, id_, name, topic): - self._id = id_ - self.name = name - self.topic = topic - self.created = None - self.creator = None - self.is_archived = False, - self.is_channel = True, - self.is_general = False, - self.is_member = True, - self.members = [] - self.purpose': {u'creator': u'', u'last_set': 0, u'value': u''}, - topic': + def __init__(self, data_dict=None): + data_dict = data_dict or {} + + self._id = data_dict['id'] + self.name = data_dict['name'] + self.created = data_dict.get('created', '') + self.creator = data_dict.get('created', '') + self.is_archived = data_dict.get('created', '') + self.is_channel = True, + self.is_general = data_dict['is_general'] + self.members = data_dict.get('members', []) + + self.purpose = Purpose(data_dict.get('purpose')) + self.topic = Topic(data_dict.get('topic')) + + def __repr__(self): + return u"<%s %s>" % (str(hex(id(self))), self.__unicode__()) + + def __unicode__(self): + return u"channel, %s %s" % (self._id, self.name)