aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsrc/featherweight.py20
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: