Paginator der besser ins Design passt.

This commit is contained in:
Christian Berg
2014-12-10 00:23:36 +01:00
parent 2011d3ce25
commit 711c303f9a
75 changed files with 675 additions and 1599 deletions

View File

@@ -5,14 +5,16 @@ Created on 05.02.2011
"""
from datetime import datetime, timedelta
import HTMLParser
import urllib2
from django.conf import settings
from django.contrib.sites.models import Site
from django.utils import timezone
from utils.html5 import models
import HTMLParser
import django.db.models
import feedparser
import urllib2
from utils.html5 import models
class FeedManager(django.db.models.Manager):
@@ -35,7 +37,7 @@ class FeedItemManager(django.db.models.Manager):
return self.select_related().filter(feed__site=site)[:max_items]
class Feed(models.Model):
class Feed(django.db.models.Model):
title = models.CharField(max_length=500)
site = models.ForeignKey(Site)
feed_url = models.URLField(unique=True, max_length=255)
@@ -51,7 +53,8 @@ class Feed(models.Model):
parsed_feed = feedparser.parse(self.feed_url)
html_parser = HTMLParser.HTMLParser()
if parsed_feed.bozo and type(parsed_feed.bozo_exception) == urllib2.URLError:
if parsed_feed.bozo and type(
parsed_feed.bozo_exception) == urllib2.URLError:
self.is_functional = False
return self.save()
@@ -68,16 +71,22 @@ class Feed(models.Model):
feed_entry.get("content", u"")
))
)
date_modified = feed_entry.get("published_parsed", parsed_feed.get("published_parsed", timezone.now))
date_modified = timezone.make_aware(datetime(*date_modified[:6]), timezone.get_current_timezone())
date_modified = feed_entry.get(
"published_parsed",
parsed_feed.get("published_parsed",
timezone.now))
date_modified = timezone.make_aware(
datetime(*date_modified[:6]),
timezone.get_current_timezone())
feed_item, updated = self.feed_items.get_or_create(guid=guid,
defaults={
'title': title,
'link': link,
'summary': summary,
'date_modified': date_modified
})
feed_item, updated = self.feed_items.get_or_create(
guid=guid,
defaults={
'title': title,
'link': link,
'summary': summary,
'date_modified': date_modified
})
feed_item.save()
self.last_update = timezone.now()
return self.save()
@@ -86,7 +95,7 @@ class Feed(models.Model):
ordering = ("title",)
class FeedItem(models.Model):
class FeedItem(django.db.models.Model):
feed = models.ForeignKey(Feed, related_name='feed_items')
title = models.CharField(max_length=500)
link = models.URLField(max_length=500)