Diverse Code Cleanups
*Code wurde PEP-8 gerecht formatiert * Kleine Fehler die der PyCharm Inspector beanstandet wurden korrigiert
This commit is contained in:
committed by
Christian Berg
parent
f34281089d
commit
86a0db050d
@@ -6,53 +6,14 @@ Universal Feed Parser (http://feedparser.org)
|
||||
from aggregator.models import Feed
|
||||
from django.core.management.base import BaseCommand
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
help = "Updates all RSS Feeds"
|
||||
|
||||
def parse_feed(self, feed, verbose=True):
|
||||
parsed_feed = feedparser.parse(feed.feed_url)
|
||||
html_parser = HTMLParser.HTMLParser()
|
||||
for entry in parsed_feed:
|
||||
title = entry.title.encode(parsed_feed.encoding, "xmlcharrefreplace")
|
||||
guid = entry.get("id", entry.link).encode(parsed_feed.encoding, "xmlcharrefreplace")
|
||||
link = entry.link.encode(parsed_feed.encoding, "xmlcharrefreplace")
|
||||
if verbose:
|
||||
print '>' , title
|
||||
|
||||
if not guid:
|
||||
guid = link
|
||||
|
||||
if hasattr(entry, "summary"):
|
||||
content = entry.summary
|
||||
elif hasattr(entry, "content"):
|
||||
content = entry.content[0].value
|
||||
elif hasattr(entry, "description"):
|
||||
content = entry.description
|
||||
else:
|
||||
content = u""
|
||||
content = content.encode(parsed_feed.encoding, "xmlcharrefreplace")
|
||||
|
||||
try:
|
||||
if entry.has_key('modified_parsed'):
|
||||
date_modified = datetime.fromtimestamp(time.mktime(entry.modified_parsed))
|
||||
elif parsed_feed.feed.has_key('modified_parsed'):
|
||||
date_modified = datetime.fromtimestamp(time.mktime(parsed_feed.feed.modified_parsed))
|
||||
elif parsed_feed.has_key('modified'):
|
||||
date_modified = datetime.fromtimestamp(time.mktime(parsed_feed.modified))
|
||||
else:
|
||||
date_modified = datetime.now()
|
||||
except TypeError:
|
||||
date_modified = datetime.now()
|
||||
|
||||
try:
|
||||
feed.feeditem_set.get(guid=guid)
|
||||
except FeedItem.DoesNotExist:
|
||||
feed.feeditem_set.create(title=title, link=link, summary=content, guid=guid, date_modified=date_modified)
|
||||
|
||||
def handle(self, *args, **options):
|
||||
verbose = int(options['verbosity']) > 0
|
||||
for feed in Feed.objects.filter(is_functional=True):
|
||||
if (verbose):
|
||||
if verbose:
|
||||
print
|
||||
print "%s - URL: %s" % (feed.title, feed.feed_url)
|
||||
print '=' * 80
|
||||
|
||||
Reference in New Issue
Block a user