diff options
| author | Mattias Andrée <maandree@operamail.com> | 2013-07-27 20:45:20 +0200 |
|---|---|---|
| committer | Mattias Andrée <maandree@operamail.com> | 2013-07-27 20:45:20 +0200 |
| commit | 2d040145e282ee7cc401b0d8ae7b90c536a7611c (patch) | |
| tree | 49d065e8a8b182701a9a7aba9585d8619f11b271 /src/featherweight.py | |
| parent | update metadata (diff) | |
| download | pytagomacs-2d040145e282ee7cc401b0d8ae7b90c536a7611c.tar.gz pytagomacs-2d040145e282ee7cc401b0d8ae7b90c536a7611c.tar.bz2 pytagomacs-2d040145e282ee7cc401b0d8ae7b90c536a7611c.tar.xz | |
update feeds
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to 'src/featherweight.py')
| -rwxr-xr-x | src/featherweight.py | 20 |
1 files changed, 19 insertions, 1 deletions
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: |
