From 9648ce73fda47739be5465d8142c38bda588c6f6 Mon Sep 17 00:00:00 2001 From: Tom Willemsen Date: Sat, 10 Mar 2012 03:04:13 +0100 Subject: Initial commit --- aggregator/management/commands/__init__.py | 0 aggregator/management/commands/load_feeds.py | 37 ++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 aggregator/management/commands/__init__.py create mode 100644 aggregator/management/commands/load_feeds.py (limited to 'aggregator/management/commands') diff --git a/aggregator/management/commands/__init__.py b/aggregator/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/aggregator/management/commands/load_feeds.py b/aggregator/management/commands/load_feeds.py new file mode 100644 index 0000000..c143052 --- /dev/null +++ b/aggregator/management/commands/load_feeds.py @@ -0,0 +1,37 @@ +import feedparser +import datetime + +from django.core.management.base import BaseCommand + +from aggregator.models import Feed, Post + +class Command(BaseCommand): + help = "hi" + + def handle(self, *args, **kwargs): + feeds = Feed.objects.all() + + for feed in feeds: + parsed = feedparser.parse(feed.get_feed_url()) + feed.title = parsed.feed.title + + for entry in parsed.entries: + if not Post.objects.filter(post_id=entry.id).exists(): + updated = datetime.datetime( + entry.updated_parsed.tm_year, + entry.updated_parsed.tm_mon, + entry.updated_parsed.tm_mday, + entry.updated_parsed.tm_hour, + entry.updated_parsed.tm_min, + entry.updated_parsed.tm_sec) + + post = Post(post_id=entry.id, + title=entry.title, + body=entry.summary, + remote_url=entry.link, + updated=updated, + feed=feed) + post.save() + feed.updated = datetime.datetime.now() + + feed.save() -- cgit v1.2.3-54-g00ecf