Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
rel = attrs.get('rel', 'alternate')
url = parse_url(urlparse.urljoin(handler.base, attrs.get('href')))
mime_type = parse_type(attrs.get('type', 'text/html'))
file_size = parse_length(attrs.get('length', '0'))
if rel == 'enclosure':
handler.add_enclosure(url, file_size, mime_type)
elif rel == 'payment':
handler.set_episode_attr('payment_url', url)
elif mime_type == 'text/html':
if rel in ('self', 'alternate'):
if not handler.get_episode_attr('link'):
handler.set_episode_attr('link', url)
class PodcastAtomLink(AtomLink):
def start(self, handler, attrs):
rel = attrs.get('rel', 'alternate')
url = parse_url(urlparse.urljoin(handler.base, attrs.get('href')))
mime_type = parse_type(attrs.get('type'))
# RFC 5005 (http://podlove.org/paged-feeds/)
if rel == 'first':
handler.set_podcast_attr('paged_feed_first', url)
elif rel == 'next':
handler.set_podcast_attr('paged_feed_next', url)
elif rel == 'payment':
handler.set_podcast_attr('payment_url', url)
elif mime_type == 'text/html':
if rel in ('self', 'alternate'):
handler.set_podcast_attr('link', url)