Source code for pyticketswitch.user
from pyticketswitch.mixins import JSONMixin
[docs]class User(JSONMixin, object):
"""Describes a user of the API
Attributes:
id (str): the user identifier.
name (str): human readable name.
country (str): ISO 3166-1 country code.
sub_user (str): the identifier of the sub user.
is_b2b (bool): indicates that the account is a b2b account.
statement_descriptor (str): what will appear on a customers bank
statement when ingresso takes the payment.
backend_group (str): what product group a user belongs to. Users in
the same backend_group will see the same products.
content_group (str): what content group a user belongs to. Users in
the same content_group will see the same textual and graphical
content.
"""
def __init__(self, id_, name=None, country=None, sub_user=None,
is_b2b=False, statement_descriptor=None,
backend_group=None, content_group=None):
self.id = id_
self.name = name
self.country = country
self.sub_user = sub_user
self.is_b2b = is_b2b
self.statement_descriptor = statement_descriptor
self.backend_group = backend_group
self.content_group = content_group
[docs] @classmethod
def from_api_data(cls, data):
"""Creates a new User object from API data from ticketswitch.
Args:
data (dict): the part of the response from a ticketswitch API call
that concerns a user.
Returns:
:class:`User <pyticketswitch.user.User>`: a new
:class:`User <pyticketswitch.user.User>` object
populated with the data from the api.
"""
return cls(
data.get('user_id'),
name=data.get('real_name'),
country=data.get('default_country_code'),
sub_user=data.get('sub_user'),
is_b2b=data.get('is_b2b'),
statement_descriptor=data.get('statement_descriptor'),
backend_group=data.get('backend_group'),
content_group=data.get('content_group'),
)