Source code for pyticketswitch.media
from pyticketswitch.mixins import JSONMixin
[docs]class Media(JSONMixin, object):
"""Describes some event media asset
Attributes:
caption (str): caption in plain text describing the asset.
caption_html (str): caption as html describing the asset.
name (str): name of the asset.
url (str): url for the asset.
secure (bool): indicates if the assert url is secure or not.
width (int): width of the asset in pixels. Only present on the video
height (int): height of the asset in pixels. Only present on the video
asset.
"""
def __init__(self, caption=None, caption_html=None, name=None, url=None,
secure=None, width=0, height=0):
self.caption = caption
self.caption_html = caption_html
self.name = name
self.url = url
self.secure = secure
self.width = width
self.height = height
[docs] @classmethod
def from_api_data(cls, data):
"""Creates a new Media object from API data from ticketswitch.
Args:
data (dict): the part of the response from a ticketswitch API call
that concerns a media asset.
Returns:
:class:`Media <pyticketswitch.media.Media>`: a new
:class:`Media <pyticketswitch.media.Media>` object
populated with the data from the api.
"""
url = data.get('secure_complete_url', None)
secure = True
if not url:
url = data.get('insecure_complete_url', None)
secure = False
kwargs = {
'caption': data.get('caption', None),
'caption_html': data.get('caption_html', None),
'name': data.get('name', None),
'url': url,
'secure': secure,
'width': data.get('width'),
'height': data.get('height'),
}
return cls(**kwargs)