Exemplo n.º 1
0
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
Exemplo n.º 2
0
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)