1
0
mirror of https://github.com/gryf/slack-backup.git synced 2025-12-17 11:30:25 +01:00
Files
slack-backup/slack_backup/objects.py

108 lines
3.6 KiB
Python

#!/usr/bin/env python3
"""
Convinient object mapping from slack API reponses
"""
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__())
def __unicode__(self):
return u", %s" % self.value
class Purpose(Base):
pass
class Topic(Base):
pass
class BaseObject(object):
def __init__(self):
self._id = None
self.name = None
def __repr__(self):
return u"<%s %s>" % (str(hex(id(self))), self.__unicode__())
def __unicode__(self):
return u"%s, %s %s" % (self.__class__.__name__, self._id, self.name)
class Channel(BaseObject):
def __init__(self, data_dict=None):
super().__init__()
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'))
class UserProfile(object):
def __init__(self, data_dict=None):
super().__init__()
data_dict = data_dict or {}
self.avatar_hash = data_dict.get("avatar_hash", "")
self.email = data_dict.get("email", "")
self.first_name = data_dict.get("first_name", "")
self.image_1024 = data_dict.get("image_1024", "")
self.image_192 = data_dict.get("image_192", "")
self.image_24 = data_dict.get("image_24", "")
self.image_32 = data_dict.get("image_32", "")
self.image_48 = data_dict.get("image_48", "")
self.image_512 = data_dict.get("image_512", "")
self.image_72 = data_dict.get("image_72", "")
self.image_original = data_dict.get("image_original", "")
self.last_name = data_dict.get("last_name", "")
self.phone = data_dict.get("phone", "")
self.real_name = data_dict.get("real_name", "")
self.real_name_normalized = data_dict.get("real_name_normalized", "")
self.skype = data_dict.get("skype", "")
class User(BaseObject):
def __init__(self, data_dict=None):
data_dict = data_dict or {}
self._id = data_dict.get("id", "")
self.color = data_dict.get("color", "")
self.deleted = data_dict.get("deleted", False)
self.has_2fa = data_dict.get("has_2fa", False)
self.has_files = data_dict.get("has_files", False)
self.is_admin = data_dict.get("is_admin", False)
self.is_bot = data_dict.get("tz", "")
self.is_owner = data_dict.get("is_owner", False)
self.is_primary_owner = data_dict.get("is_primary_owner", False)
self.is_restricted = data_dict.get("is_restricted", False)
self.is_ultra_restricted = data_dict.get("is_ultra_restricted", False)
self.name = data_dict.get("name", "")
self.real_name = data_dict.get("real_name", "")
self.status = data_dict.get("status", "")
self.team_id = data_dict.get("team_id", "")
self.two_factor_type = data_dict.get("two_factor_type", "")
self.tz = data_dict.get("tz", "")
self.tz_label = data_dict.get("tz_label", "")
self.tz_offset = data_dict.get("tz_offset", "")
self.profile = UserProfile(data_dict.get("profile"))