aboutsummaryrefslogtreecommitdiffstats
path: root/src/featherweight.py
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2013-07-27 20:45:20 +0200
committerMattias Andrée <maandree@operamail.com>2013-07-27 20:45:20 +0200
commit2d040145e282ee7cc401b0d8ae7b90c536a7611c (patch)
tree49d065e8a8b182701a9a7aba9585d8619f11b271 /src/featherweight.py
parentupdate metadata (diff)
downloadpytagomacs-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-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: