<s> from __future__ import unicode_literals <EOL> import re <EOL> from . common import InfoExtractor <EOL> class AolIE ( InfoExtractor ) : <EOL> IE_NAME = '<STR_LIT>' <EOL> _VALID_URL = r'''<STR_LIT>''' <EOL> _TESTS = [ { <EOL> '<STR_LIT:url>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:title>' : '<STR_LIT>' , <EOL> } , <EOL> '<STR_LIT>' : [ '<STR_LIT>' ] , <EOL> } , { <EOL> '<STR_LIT:url>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : { <EOL> '<STR_LIT:id>' : '<STR_LIT>' , <EOL> '<STR_LIT:title>' : '<STR_LIT>' , <EOL> } , <EOL> '<STR_LIT>' : <NUM_LIT:10> , <EOL> } ] <EOL> def _real_extract ( self , url ) : <EOL> mobj = re . match ( self . _VALID_URL , url ) <EOL> video_id = mobj . group ( '<STR_LIT:id>' ) <EOL> playlist_id = mobj . group ( '<STR_LIT>' ) <EOL> if not playlist_id or self . _downloader . params . get ( '<STR_LIT>' ) : <EOL> return self . url_result ( '<STR_LIT>' % video_id ) <EOL> self . to_screen ( '<STR_LIT>' % ( playlist_id , video_id ) ) <EOL> webpage = self . _download_webpage ( url , playlist_id ) <EOL> title = self . _html_search_regex ( <EOL> r'<STR_LIT>' , webpage , '<STR_LIT:title>' ) <EOL> playlist_html = self . _search_regex ( <EOL> r"<STR_LIT>" , webpage , <EOL> '<STR_LIT>' ) <EOL> entries = [ { <EOL> '<STR_LIT>' : '<STR_LIT:url>' , <EOL> '<STR_LIT:url>' : '<STR_LIT>' % m . group ( '<STR_LIT:id>' ) , <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> } for m in re . finditer ( <EOL> r"<STR_LIT>" , <EOL> playlist_html ) ] <EOL> return { <EOL> '<STR_LIT>' : '<STR_LIT>' , <EOL> '<STR_LIT:id>' : playlist_id , <EOL> '<STR_LIT>' : mobj . group ( '<STR_LIT>' ) , <EOL> '<STR_LIT:title>' : title , <EOL> '<STR_LIT>' : entries , <EOL> } </s>
