From 2d040145e282ee7cc401b0d8ae7b90c536a7611c Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 27 Jul 2013 20:45:20 +0200 Subject: update feeds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/featherweight.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/featherweight.py b/src/featherweight.py index 82a6e83..dacf469 100755 --- a/src/featherweight.py +++ b/src/featherweight.py @@ -24,6 +24,7 @@ from subprocess import Popen, PIPE from flocker import * from trees import * +from parser import * old_stty = Popen('stty --save'.split(' '), stdout = PIPE, stderr = PIPE).communicate()[0] @@ -72,8 +73,25 @@ with touch('%s/feeds' % root) as feeds_flock: feed_info = eval(feed_info) have = feed_info['have'] unread = feed_info['unread'] + url = feed_info['url'] - ## TODO update feed + try: + feed_data = Popen(['wget', url, '-O', '-'], stdout = PIPE).communicate()[0] + feed_data = parse_feed(feed_data) + old_data = None + with open('%s/%s-content' % (root, uuid), 'rb') as file: + old_data = file.read().decode('utf-8', 'error') + for channel in feed_data: + for item in channel['items']: + guid = item['guid'] + if have not in guid: + unread.add(guid) + have.add(guid) + old_data.append(item) + with open('%s/%s-content' % (root, uuid), 'wb') as file: + file.write(str(old_data).decode('utf-8')) + except: + pass feed['new'] = len(unread) with open('%s/%s' % (root, uuid), 'wb') as file: -- cgit v1.2.3-70-g09d2