From a2be5b6c2a40519783772a472f1332e1c7d070b0 Mon Sep 17 00:00:00 2001 From: Sam Ruby Date: Tue, 5 Sep 2006 18:11:57 -0400 Subject: [PATCH] Feed fixes --- planet/config.py | 5 ++--- planet/splice.py | 7 +++++++ tests/data/config/basic.ini | 1 + tests/test_config.py | 6 +++++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/planet/config.py b/planet/config.py index a63f5ad..7fe9336 100644 --- a/planet/config.py +++ b/planet/config.py @@ -97,7 +97,6 @@ def __init__(): define_planet('owner_email', '') define_planet('output_theme', '') define_planet('output_dir', 'output') - define_planet('feed', None) define_planet_list('template_files') define_planet_list('bill_of_materials') @@ -244,9 +243,9 @@ def cache_lists_directory(): def feed(): if parser.has_option('Planet', 'feed'): - parser.get('Planet', 'feed') + return parser.get('Planet', 'feed') elif link(): - for template_file in template_files: + for template_file in template_files(): name = os.path.splitext(os.path.basename(template_file))[0] if name.find('atom')>=0 or name.find('rss')>=0: return urljoin(link(), name) diff --git a/planet/splice.py b/planet/splice.py index 53c24ad..fed2504 100644 --- a/planet/splice.py +++ b/planet/splice.py @@ -28,11 +28,18 @@ def splice(): date(feed, 'updated', time.gmtime()) gen = createTextElement(feed, 'generator', config.generator()) gen.setAttribute('uri', config.generator_uri()) + author = doc.createElement('author') createTextElement(author, 'name', config.owner_name()) createTextElement(author, 'email', config.owner_email()) feed.appendChild(author) + createTextElement(feed, 'id', config.feed()) + link = doc.createElement('link') + link.setAttribute('rel', 'self') + link.setAttribute('href', config.feed()) + feed.appendChild(link) + # insert entry information for mtime,file in dir[:items]: try: diff --git a/tests/data/config/basic.ini b/tests/data/config/basic.ini index 1ccaf42..842d6b3 100644 --- a/tests/data/config/basic.ini +++ b/tests/data/config/basic.ini @@ -1,5 +1,6 @@ [Planet] name = Test Configuration +link = http://example.com/ template_files = index.html.tmpl atom.xml.tmpl items_per_page = 50 filters = foo diff --git a/tests/test_config.py b/tests/test_config.py index 5b8f1e1..6021757 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -18,13 +18,17 @@ class ConfigTest(unittest.TestCase): feeds.sort() self.assertEqual(['feed1', 'feed2'], feeds) + def test_feed(self): + self.assertEqual('http://example.com/atom.xml', config.feed()) + self.assertEqual('atom', config.feedtype()) + # planet wide configuration def test_name(self): self.assertEqual('Test Configuration', config.name()) def test_link(self): - self.assertEqual('', config.link()) + self.assertEqual('http://example.com/', config.link()) # per template configuration