blob: 3f698e4fcc13d0ff7fbcfcf472c23ef156a0860d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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()
last_updated = Post.objects.filter(feed=feed)\
.order_by('-updated')[0].updated
feed.updated = last_updated
feed.save()
|