- def _extract_caption(self, api_data, article_id):
- title = api_data.get('title') or api_data.get('captionTitle')
- caption = api_data.get('caption')
- if not title or not caption:
- return {}
-
- if 'sdn' in caption.get('video', {}):
- src_url = caption['video']['sdn']
- elif 'liveStreamUrl' in caption:
- src_url = self._download_json(caption['liveStreamUrl'], article_id)['Location']
- else:
- return {}
-
- return {
- 'id': caption.get('uid'),
- 'title': caption.get('title'),
- 'src': src_url,
- }
-
- def _extract_content(self, api_data):
- entries = []
- for item in api_data.get('content', []):
- media = item.get('properties', {}).get('media', {})
- src_url = media.get('video', {}).get('sdn')
- title = media.get('title')
- if not src_url or not title:
- continue