def parse(cls, api, json):
"""Parse a JSON object into a model instance.
:param api: instance of :class:`API <annict.api.API>` .
:type api: annict.api.API
:param dict json: JSON from Annict API.
:return: :class:`Program <Program>` object
:rtype: Program
"""
program = cls(api)
program._json = json
for k, v in json.items():
if k == 'started_at':
setattr(program, k, arrow.get(v).datetime)
elif k == 'work':
work = Work.parse(api, v)
setattr(program, k, work)
elif k == 'episode':
episode = Episode.parse(api, v)
setattr(program, k, episode)
else:
setattr(program, k, v)
return program
评论列表
文章目录