<s> from __future__ import unicode_literals <EOL> from . common import InfoExtractor <EOL> from . . compat import ( <EOL> compat_urlparse , <EOL> ) <EOL> from . . utils import ( <EOL> determine_ext , <EOL> ) <EOL> class GolemIE ( InfoExtractor ) : <EOL> _VALID_URL = r'<STR_LIT>' <EOL> _TEST = { <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>' : '<STR_LIT>' , <EOL> '<STR_LIT:title>' : '<STR_LIT>' , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> '<STR_LIT>' : <NUM_LIT> , <EOL> } <EOL> } <EOL> _PREFIX = '<STR_LIT>' <EOL> def _real_extract ( self , url ) : <EOL> video_id = self . _match_id ( url ) <EOL> config = self . _download_xml ( <EOL> '<STR_LIT>' . format ( video_id ) , video_id ) <EOL> info = { <EOL> '<STR_LIT:id>' : video_id , <EOL> '<STR_LIT:title>' : config . findtext ( '<STR_LIT>' , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : self . _float ( config . findtext ( '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> } <EOL> formats = [ ] <EOL> for e in config : <EOL> url = e . findtext ( '<STR_LIT>' ) <EOL> if not url : <EOL> continue <EOL> formats . append ( { <EOL> '<STR_LIT>' : e . tag , <EOL> '<STR_LIT:url>' : compat_urlparse . urljoin ( self . _PREFIX , url ) , <EOL> '<STR_LIT>' : self . _int ( e . get ( '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> '<STR_LIT:width>' : self . _int ( e . get ( '<STR_LIT:width>' ) , '<STR_LIT:width>' ) , <EOL> '<STR_LIT>' : self . _int ( e . findtext ( '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : determine_ext ( e . findtext ( '<STR_LIT>' ) ) , <EOL> } ) <EOL> self . _sort_formats ( formats ) <EOL> info [ '<STR_LIT>' ] = formats <EOL> thumbnails = [ ] <EOL> for e in config . findall ( '<STR_LIT>' ) : <EOL> url = e . findtext ( '<STR_LIT>' ) <EOL> if not url : <EOL> continue <EOL> thumbnails . append ( { <EOL> '<STR_LIT:url>' : compat_urlparse . urljoin ( self . _PREFIX , url ) , <EOL> '<STR_LIT:width>' : self . _int ( e . get ( '<STR_LIT:width>' ) , '<STR_LIT>' ) , <EOL> '<STR_LIT>' : self . _int ( e . get ( '<STR_LIT>' ) , '<STR_LIT>' ) , <EOL> } ) <EOL> info [ '<STR_LIT>' ] = thumbnails <EOL> return info </s>
