From 9393a7844c68f86dec004087d32ff3697f39c63d Mon Sep 17 00:00:00 2001 From: Bastian Reitemeier <Reitemei@students.uni-marburg.de> Date: Wed, 24 Feb 2016 19:26:09 +0100 Subject: [PATCH] switched from pycurl to requests for better https handling. new episodes are announced in the update listings --- podfox.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/podfox.py b/podfox.py index c71aa81..386b571 100755 --- a/podfox.py +++ b/podfox.py @@ -25,7 +25,7 @@ import feedparser import json import os import os.path -import pycurl +import requests import sys # RSS datetimes follow RFC 2822, same as email headers. @@ -147,6 +147,7 @@ def update_feed(feed): found = True if not found: feed['episodes'].append(episode) + print('new episode.') feed = sort_feed(feed) overwrite_config(feed) @@ -198,18 +199,15 @@ def download_multiple(feed, maxnum): def download_single(folder, url): + print(url) base = CONFIGURATION['podcast-directory'] filename = url.split('/')[-1] filename = filename.split('?')[0] print_green("{:s} downloading".format(filename)) + r = requests.get(url, stream=True) with open(os.path.join(base, folder, filename), 'wb') as f: - c = pycurl.Curl() - c.setopt(c.URL, url) - c.setopt(c.WRITEDATA, f) - # Follow redirect. Podcast cdns love redirecting you around. - c.setopt(c.FOLLOWLOCATION, True) - c.perform() - c.close() + for chunk in r.iter_content(chunk_size=1024): + f.write(chunk) print("done.") @@ -268,7 +266,7 @@ def pretty_print_feeds(feeds): def pretty_print_episodes(feed): format_str = Fore.GREEN + '{0:40} |' format_str += Fore.BLUE + ' {1:20}' + Fore.RESET + Back.RESET - for e in feed['episodes']: + for e in feed['episodes'][:10]: status = 'Downloaded' if e['downloaded'] else 'Not Downloaded' print(format_str.format(e['title'][:40], status))