class item(ItemElement): klass = BaseAudio obj_id = BaseAudioIdFilter(Format('podcast.%s', Regexp(CleanText('./guid'), 'http://media.radiofrance-podcast.net/podcast09/(.*).mp3'))) obj_title = CleanText('title') obj_format = u'mp3' obj_ext = u'mp3' obj_url = CleanText('enclosure/@url') obj_description = CleanText('description') def obj_author(self): author = self.el.xpath('itunes:author', namespaces={'itunes': 'http://www.itunes.com/dtds/podcast-1.0.dtd'}) return CleanText('.')(author[0]) def obj_duration(self): duration = self.el.xpath('itunes:duration', namespaces={'itunes': 'http://www.itunes.com/dtds/podcast-1.0.dtd'}) return Duration(CleanText('.'))(duration[0]) def obj_thumbnail(self): thumbnail = Thumbnail(CleanText('//image[1]/url')(self)) thumbnail.url = thumbnail.id return thumbnail
class item(ItemElement): klass = BaseAudio def condition(self): return Dict('path_mp3')(self) obj_id = BaseAudioIdFilter(Format(u'%s.%s', Env('radio_id'), Dict('nid'))) obj_format = u'mp3' obj_ext = u'mp3' obj_title = Format(u'%s : %s', Dict('title_emission'), Dict('title_diff')) obj_description = Dict('desc_emission', default=u'') obj_author = Join(u', ', Dict('personnes', default=u'')) obj_url = Dict('path_mp3') def obj_thumbnail(self): if 'path_img_emission' in self.el: thumbnail = Thumbnail(Dict('path_img_emission')(self)) thumbnail.url = thumbnail.id return thumbnail def obj_duration(self): fin = Dict('fin')(self) debut = Dict('debut')(self) if debut and fin: return timedelta(seconds=int(fin) - int(debut))
class item(InaItemElement): klass = BaseAudio def condition(self): return Regexp(CleanText('./a/@href'), '/audio/(.*)/.*.html', default=None)(self) obj_id = BaseAudioIdFilter( Regexp(CleanText('./a/@href'), '/audio/(.*)/.*.html'))
class get_francetvinfo_selection(ItemElement): klass = BaseAudio obj_id = BaseAudioIdFilter(Format(u'francetvinfo.%s', Regexp(CleanText('//div[@class="player-selector"]/@data-url'), 'http://media.radiofrance-podcast.net/podcast09/(.*).mp3'))) obj_ext = u'mp3' obj_format = u'mp3' obj_url = CleanText('//div[@class="player-selector"]/@data-url') obj_title = Format(u'%s %s', CleanText('//div[@class="player-selector"]/@data-emission-title'), CleanText('//div[@class="player-selector"]/@data-diffusion-title')) obj_description = CleanText('//h2[1]')
class item(ItemElement): klass = BaseAudio obj_id = BaseAudioIdFilter(Format(u'%s.%s', Env('radio_id'), Regexp(CleanText('./div/div/a/@href'), 'http://media.radiofrance-podcast.net/podcast09/(.*).mp3'))) obj_ext = u'mp3' obj_format = u'mp3' obj_url = CleanText('./div/div/a/@href') obj_title = Format(u'%s : %s', CleanText('./a/div[@class="subtitle"]'), CleanText('./a/div[@class="title"]')) obj_description = CleanText('./div/div/a/@data-asset-xtname') def obj_duration(self): _d = CleanText('./div/div/a/@data-duration')(self) return timedelta(seconds=int(_d))
class get_audio(InaMediaElement): klass = BaseAudio obj_ext = u'mp3' obj_id = BaseAudioIdFilter(Env('id'))