#code """ Update feeds for Django community page. Requires Mark Pilgrim's excellent Universal Feed Parser (http://feedparser.org) """ import os import time import optparse import datetime import feedparser def update_feeds(): from aggregator.models import Feed, FeedItem for feed in Feed.objects.filter(is_defunct=False): parsed_feed = feedparser.parse(feed.feed_url) for entry in parsed_feed.entries: 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 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") if entry.has_key('modified_parsed'): date_modified = datetime.datetime.fromtimestamp(time.mktime(entry.modified_parsed)) elif parsed_feed.feed.has_key('modified_parsed'): date_modified = datetime.datetime.fromtimestamp(time.mktime(parsed_feed.feed.modified_parsed)) elif parsed_feed.has_key('modified'): date_modified = datetime.datetime.fromtimestamp(time.mktime(parsed_feed.modified)) else: date_modified = datetime.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) if __name__ == '__main__': parser = optparse.OptionParser() parser.add_option('--settings') options, args = parser.parse_args() if options.settings: os.environ["DJANGO_SETTINGS_MODULE"] = options.settings update_feeds() #error $ python update_feeds.py Traceback (most recent call last): File "update_feeds.py", line 51, in ? update_feeds() File "update_feeds.py", line 13, in update_feeds from aggregator.models import Feed, FeedItem File "/home/kakei/django_website/../django_website/aggregator/models.py", line 1, in ? from django.db import models File "/usr/lib/python2.4/site-packages/Django-0.95-py2.4.egg/django/db/__init__.py", line 7, in ? if not settings.DATABASE_ENGINE: File "/usr/lib/python2.4/site-packages/Django-0.95-py2.4.egg/django/conf/__init__.py", line 28, in __getattr__ self._import_settings() File "/usr/lib/python2.4/site-packages/Django-0.95-py2.4.egg/django/conf/__init__.py", line 53, in _import_settings raise EnvironmentError, "Environment variable %s is undefined." % ENVIRONMENT_VARIABLE EnvironmentError: Environment variable DJANGO_SETTINGS_MODULE is undefined.