Remove most __init__ methods
This commit is contained in:
@@ -3,10 +3,12 @@ from . import _util, _plan
|
|||||||
from ._thread import ThreadType, Thread
|
from ._thread import ThreadType, Thread
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class Group(Thread):
|
class Group(Thread):
|
||||||
"""Represents a Facebook group. Inherits `Thread`."""
|
"""Represents a Facebook group. Inherits `Thread`."""
|
||||||
|
|
||||||
|
type = ThreadType.GROUP
|
||||||
|
|
||||||
#: Unique list (set) of the group thread's participant user IDs
|
#: Unique list (set) of the group thread's participant user IDs
|
||||||
participants = attr.ib(factory=set, converter=lambda x: set() if x is None else x)
|
participants = attr.ib(factory=set, converter=lambda x: set() if x is None else x)
|
||||||
#: A dictionary, containing user nicknames mapped to their IDs
|
#: A dictionary, containing user nicknames mapped to their IDs
|
||||||
@@ -26,38 +28,6 @@ class Group(Thread):
|
|||||||
# Link for joining group
|
# Link for joining group
|
||||||
join_link = attr.ib(None)
|
join_link = attr.ib(None)
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
uid,
|
|
||||||
participants=None,
|
|
||||||
nicknames=None,
|
|
||||||
color=None,
|
|
||||||
emoji=None,
|
|
||||||
admins=None,
|
|
||||||
approval_mode=None,
|
|
||||||
approval_requests=None,
|
|
||||||
join_link=None,
|
|
||||||
privacy_mode=None,
|
|
||||||
**kwargs
|
|
||||||
):
|
|
||||||
super(Group, self).__init__(ThreadType.GROUP, uid, **kwargs)
|
|
||||||
if participants is None:
|
|
||||||
participants = set()
|
|
||||||
self.participants = participants
|
|
||||||
if nicknames is None:
|
|
||||||
nicknames = []
|
|
||||||
self.nicknames = nicknames
|
|
||||||
self.color = color
|
|
||||||
self.emoji = emoji
|
|
||||||
if admins is None:
|
|
||||||
admins = set()
|
|
||||||
self.admins = admins
|
|
||||||
self.approval_mode = approval_mode
|
|
||||||
if approval_requests is None:
|
|
||||||
approval_requests = set()
|
|
||||||
self.approval_requests = approval_requests
|
|
||||||
self.join_link = join_link
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_graphql(cls, data):
|
def _from_graphql(cls, data):
|
||||||
if data.get("image") is None:
|
if data.get("image") is None:
|
||||||
|
@@ -53,7 +53,7 @@ class LocationAttachment(Attachment):
|
|||||||
return rtn
|
return rtn
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class LiveLocationAttachment(LocationAttachment):
|
class LiveLocationAttachment(LocationAttachment):
|
||||||
"""Represents a live user location."""
|
"""Represents a live user location."""
|
||||||
|
|
||||||
@@ -64,11 +64,6 @@ class LiveLocationAttachment(LocationAttachment):
|
|||||||
#: True if live location is expired
|
#: True if live location is expired
|
||||||
is_expired = attr.ib(None)
|
is_expired = attr.ib(None)
|
||||||
|
|
||||||
def __init__(self, name=None, expires_at=None, is_expired=None, **kwargs):
|
|
||||||
super(LiveLocationAttachment, self).__init__(**kwargs)
|
|
||||||
self.expires_at = expires_at
|
|
||||||
self.is_expired = is_expired
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_pull(cls, data):
|
def _from_pull(cls, data):
|
||||||
return cls(
|
return cls(
|
||||||
|
@@ -3,10 +3,12 @@ from . import _plan
|
|||||||
from ._thread import ThreadType, Thread
|
from ._thread import ThreadType, Thread
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class Page(Thread):
|
class Page(Thread):
|
||||||
"""Represents a Facebook page. Inherits `Thread`."""
|
"""Represents a Facebook page. Inherits `Thread`."""
|
||||||
|
|
||||||
|
type = ThreadType.PAGE
|
||||||
|
|
||||||
#: The page's custom URL
|
#: The page's custom URL
|
||||||
url = attr.ib(None)
|
url = attr.ib(None)
|
||||||
#: The name of the page's location city
|
#: The name of the page's location city
|
||||||
@@ -18,23 +20,6 @@ class Page(Thread):
|
|||||||
#: The page's category
|
#: The page's category
|
||||||
category = attr.ib(None)
|
category = attr.ib(None)
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
uid,
|
|
||||||
url=None,
|
|
||||||
city=None,
|
|
||||||
likes=None,
|
|
||||||
sub_title=None,
|
|
||||||
category=None,
|
|
||||||
**kwargs
|
|
||||||
):
|
|
||||||
super(Page, self).__init__(ThreadType.PAGE, uid, **kwargs)
|
|
||||||
self.url = url
|
|
||||||
self.city = city
|
|
||||||
self.likes = likes
|
|
||||||
self.sub_title = sub_title
|
|
||||||
self.category = category
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_graphql(cls, data):
|
def _from_graphql(cls, data):
|
||||||
if data.get("profile_picture") is None:
|
if data.get("profile_picture") is None:
|
||||||
|
@@ -16,7 +16,7 @@ class QuickReply:
|
|||||||
is_response = attr.ib(False)
|
is_response = attr.ib(False)
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class QuickReplyText(QuickReply):
|
class QuickReplyText(QuickReply):
|
||||||
"""Represents a text quick reply."""
|
"""Represents a text quick reply."""
|
||||||
|
|
||||||
@@ -27,25 +27,16 @@ class QuickReplyText(QuickReply):
|
|||||||
#: Type of the quick reply
|
#: Type of the quick reply
|
||||||
_type = "text"
|
_type = "text"
|
||||||
|
|
||||||
def __init__(self, title=None, image_url=None, **kwargs):
|
|
||||||
super(QuickReplyText, self).__init__(**kwargs)
|
|
||||||
self.title = title
|
|
||||||
self.image_url = image_url
|
|
||||||
|
|
||||||
|
@attr.s
|
||||||
@attr.s(init=False)
|
|
||||||
class QuickReplyLocation(QuickReply):
|
class QuickReplyLocation(QuickReply):
|
||||||
"""Represents a location quick reply (Doesn't work on mobile)."""
|
"""Represents a location quick reply (Doesn't work on mobile)."""
|
||||||
|
|
||||||
#: Type of the quick reply
|
#: Type of the quick reply
|
||||||
_type = "location"
|
_type = "location"
|
||||||
|
|
||||||
def __init__(self, **kwargs):
|
|
||||||
super(QuickReplyLocation, self).__init__(**kwargs)
|
|
||||||
self.is_response = False
|
|
||||||
|
|
||||||
|
@attr.s
|
||||||
@attr.s(init=False)
|
|
||||||
class QuickReplyPhoneNumber(QuickReply):
|
class QuickReplyPhoneNumber(QuickReply):
|
||||||
"""Represents a phone number quick reply (Doesn't work on mobile)."""
|
"""Represents a phone number quick reply (Doesn't work on mobile)."""
|
||||||
|
|
||||||
@@ -54,12 +45,8 @@ class QuickReplyPhoneNumber(QuickReply):
|
|||||||
#: Type of the quick reply
|
#: Type of the quick reply
|
||||||
_type = "user_phone_number"
|
_type = "user_phone_number"
|
||||||
|
|
||||||
def __init__(self, image_url=None, **kwargs):
|
|
||||||
super(QuickReplyPhoneNumber, self).__init__(**kwargs)
|
|
||||||
self.image_url = image_url
|
|
||||||
|
|
||||||
|
@attr.s
|
||||||
@attr.s(init=False)
|
|
||||||
class QuickReplyEmail(QuickReply):
|
class QuickReplyEmail(QuickReply):
|
||||||
"""Represents an email quick reply (Doesn't work on mobile)."""
|
"""Represents an email quick reply (Doesn't work on mobile)."""
|
||||||
|
|
||||||
@@ -68,10 +55,6 @@ class QuickReplyEmail(QuickReply):
|
|||||||
#: Type of the quick reply
|
#: Type of the quick reply
|
||||||
_type = "user_email"
|
_type = "user_email"
|
||||||
|
|
||||||
def __init__(self, image_url=None, **kwargs):
|
|
||||||
super(QuickReplyEmail, self).__init__(**kwargs)
|
|
||||||
self.image_url = image_url
|
|
||||||
|
|
||||||
|
|
||||||
def graphql_to_quick_reply(q, is_response=False):
|
def graphql_to_quick_reply(q, is_response=False):
|
||||||
data = dict()
|
data = dict()
|
||||||
|
@@ -2,7 +2,7 @@ import attr
|
|||||||
from ._attachment import Attachment
|
from ._attachment import Attachment
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class Sticker(Attachment):
|
class Sticker(Attachment):
|
||||||
"""Represents a Facebook sticker that has been sent to a thread as an attachment."""
|
"""Represents a Facebook sticker that has been sent to a thread as an attachment."""
|
||||||
|
|
||||||
@@ -32,9 +32,6 @@ class Sticker(Attachment):
|
|||||||
#: The sticker's label/name
|
#: The sticker's label/name
|
||||||
label = attr.ib(None)
|
label = attr.ib(None)
|
||||||
|
|
||||||
def __init__(self, uid=None):
|
|
||||||
super(Sticker, self).__init__(uid=uid)
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_graphql(cls, data):
|
def _from_graphql(cls, data):
|
||||||
if not data:
|
if not data:
|
||||||
|
@@ -67,14 +67,14 @@ class ThreadColor(Enum):
|
|||||||
return cls._extend_if_invalid(value)
|
return cls._extend_if_invalid(value)
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class Thread:
|
class Thread:
|
||||||
"""Represents a Facebook thread."""
|
"""Represents a Facebook thread."""
|
||||||
|
|
||||||
#: The unique identifier of the thread. Can be used a ``thread_id``. See :ref:`intro_threads` for more info
|
#: The unique identifier of the thread. Can be used a ``thread_id``. See :ref:`intro_threads` for more info
|
||||||
uid = attr.ib(converter=str)
|
uid = attr.ib(converter=str)
|
||||||
#: Specifies the type of thread. Can be used a ``thread_type``. See :ref:`intro_threads` for more info
|
#: Specifies the type of thread. Can be used a ``thread_type``. See :ref:`intro_threads` for more info
|
||||||
type = attr.ib()
|
type = None
|
||||||
#: A URL to the thread's picture
|
#: A URL to the thread's picture
|
||||||
photo = attr.ib(None)
|
photo = attr.ib(None)
|
||||||
#: The name of the thread
|
#: The name of the thread
|
||||||
@@ -86,24 +86,6 @@ class Thread:
|
|||||||
#: Set :class:`Plan`
|
#: Set :class:`Plan`
|
||||||
plan = attr.ib(None)
|
plan = attr.ib(None)
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
_type,
|
|
||||||
uid,
|
|
||||||
photo=None,
|
|
||||||
name=None,
|
|
||||||
last_active=None,
|
|
||||||
message_count=None,
|
|
||||||
plan=None,
|
|
||||||
):
|
|
||||||
self.uid = str(uid)
|
|
||||||
self.type = _type
|
|
||||||
self.photo = photo
|
|
||||||
self.name = name
|
|
||||||
self.last_active = last_active
|
|
||||||
self.message_count = message_count
|
|
||||||
self.plan = plan
|
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _parse_customization_info(data):
|
def _parse_customization_info(data):
|
||||||
if data is None or data.get("customization_info") is None:
|
if data is None or data.get("customization_info") is None:
|
||||||
|
@@ -41,10 +41,12 @@ class TypingStatus(Enum):
|
|||||||
TYPING = 1
|
TYPING = 1
|
||||||
|
|
||||||
|
|
||||||
@attr.s(init=False)
|
@attr.s
|
||||||
class User(Thread):
|
class User(Thread):
|
||||||
"""Represents a Facebook user. Inherits `Thread`."""
|
"""Represents a Facebook user. Inherits `Thread`."""
|
||||||
|
|
||||||
|
type = ThreadType.USER
|
||||||
|
|
||||||
#: The profile URL
|
#: The profile URL
|
||||||
url = attr.ib(None)
|
url = attr.ib(None)
|
||||||
#: The users first name
|
#: The users first name
|
||||||
@@ -66,33 +68,6 @@ class User(Thread):
|
|||||||
#: The default emoji
|
#: The default emoji
|
||||||
emoji = attr.ib(None)
|
emoji = attr.ib(None)
|
||||||
|
|
||||||
def __init__(
|
|
||||||
self,
|
|
||||||
uid,
|
|
||||||
url=None,
|
|
||||||
first_name=None,
|
|
||||||
last_name=None,
|
|
||||||
is_friend=None,
|
|
||||||
gender=None,
|
|
||||||
affinity=None,
|
|
||||||
nickname=None,
|
|
||||||
own_nickname=None,
|
|
||||||
color=None,
|
|
||||||
emoji=None,
|
|
||||||
**kwargs
|
|
||||||
):
|
|
||||||
super(User, self).__init__(ThreadType.USER, uid, **kwargs)
|
|
||||||
self.url = url
|
|
||||||
self.first_name = first_name
|
|
||||||
self.last_name = last_name
|
|
||||||
self.is_friend = is_friend
|
|
||||||
self.gender = gender
|
|
||||||
self.affinity = affinity
|
|
||||||
self.nickname = nickname
|
|
||||||
self.own_nickname = own_nickname
|
|
||||||
self.color = color
|
|
||||||
self.emoji = emoji
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _from_graphql(cls, data):
|
def _from_graphql(cls, data):
|
||||||
if data.get("profile_picture") is None:
|
if data.get("profile_picture") is None:
|
||||||
|
Reference in New Issue
Block a user