from ..utils import (
ExtractorError,
smuggle_url,
+ str_or_none,
traverse_obj,
- unsmuggle_url,
unified_strdate,
+ unsmuggle_url,
)
-import re
import itertools
'id': voice_id,
'title': compat_str(value.get('PlaylistName')),
'uploader': value.get('SpeakerName'),
- 'uploader_id': compat_str(value.get('SpeakerId')),
+ 'uploader_id': str_or_none(value.get('SpeakerId')),
'channel': value.get('ChannelName'),
- 'channel_id': compat_str(value.get('ChannelId')),
+ 'channel_id': str_or_none(value.get('ChannelId')),
'upload_date': upload_date,
}
}]
def _real_extract(self, url):
- mobj = re.match(self._VALID_URL, url)
+ mobj = self._match_valid_url(url)
assert mobj
voice_id = mobj.group('id')
channel_id = mobj.group('channel_id')