aboutsummaryrefslogtreecommitdiffstats
path: root/aggregator/management/commands
diff options
context:
space:
mode:
authorGravatar Tom Willemsen2012-03-10 03:04:13 +0100
committerGravatar Tom Willemsen2012-03-10 03:04:13 +0100
commit9648ce73fda47739be5465d8142c38bda588c6f6 (patch)
tree866100c62ede3bc0dab50b0dc19de4a4191c5fd4 /aggregator/management/commands
downloadryuslash.org-9648ce73fda47739be5465d8142c38bda588c6f6.tar.gz
ryuslash.org-9648ce73fda47739be5465d8142c38bda588c6f6.zip
Initial commit
Diffstat (limited to 'aggregator/management/commands')
-rw-r--r--aggregator/management/commands/__init__.py0
-rw-r--r--aggregator/management/commands/load_feeds.py37
2 files changed, 37 insertions, 0 deletions
diff --git a/aggregator/management/commands/__init__.py b/aggregator/management/commands/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/aggregator/management/commands/__init__.py
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()