def get_episode_url(entry): """Get the download / episode URL of a feedparser entry""" enclosures = getattr(entry, 'enclosures', []) for enclosure in enclosures: if 'href' in enclosure: mimetype = get_mimetype(enclosure.get('type', ''), enclosure['href']) if check_mimetype(mimetype): return enclosure['href'], mimetype media_content = getattr(entry, 'media_content', []) for media in media_content: if 'url' in media: mimetype = get_mimetype(media.get('type', ''), media['url']) if check_mimetype(mimetype): return media['url'], mimetype links = getattr(entry, 'links', []) for link in links: if not hasattr(link, 'href'): continue if youtube.is_video_link(link['href']): return link['href'], 'application/x-youtube' # XXX: Implement link detection as in gPodder return None, None
def is_image(episode): if isinstance(episode, Episode): mimetypes = episode.mimetypes else: mimetypes = [get_mimetype(episode.mimetype, episode.url)] return any(get_type(mimetype) == 'image' for mimetype in mimetypes)