author tags can be ignored too!

This commit is contained in:
Sam Ruby 2007-06-18 12:03:30 -04:00
parent 28f5de903a
commit 65e41f7b22
3 changed files with 13 additions and 5 deletions

View File

@ -80,8 +80,8 @@ that can be used to help.</p>
<ul> <ul>
<li><code>ignore_in_feed</code> allows you to list any number of elements <li><code>ignore_in_feed</code> allows you to list any number of elements
or attributes which are to be ignored in feeds. This is often handy in the or attributes which are to be ignored in feeds. This is often handy in the
case of feeds where the <code>id</code>, <code>updated</code> or case of feeds where the <code>author</code>, <code>id</code>,
<code>xml:lang</code> values can't be trusted.</li> <code>updated</code> or <code>xml:lang</code> values can't be trusted.</li>
<li><code>title_type</code>, <code>summary_type</code>, <li><code>title_type</code>, <code>summary_type</code>,
<code>content_type</code> allow you to override the <code>content_type</code> allow you to override the
<a href="http://www.feedparser.org/docs/reference-entry-title_detail.html#reference.entry.title_detail.type"><code>type</code></a> <a href="http://www.feedparser.org/docs/reference-entry-title_detail.html#reference.entry.title_detail.type"><code>type</code></a>

View File

@ -4,13 +4,13 @@ venus_base = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0,venus_base) sys.path.insert(0,venus_base)
if __name__ == "__main__": if __name__ == "__main__":
import planet
planet.getLogger('WARN',None)
hide_planet_ns = True hide_planet_ns = True
while len(sys.argv) > 1: while len(sys.argv) > 1:
if sys.argv[1] == '-v' or sys.argv[1] == '--verbose': if sys.argv[1] == '-v' or sys.argv[1] == '--verbose':
import planet
planet.getLogger('DEBUG',None)
del sys.argv[1] del sys.argv[1]
elif sys.argv[1] == '-p' or sys.argv[1] == '--planet': elif sys.argv[1] == '-p' or sys.argv[1] == '--planet':
hide_planet_ns = False hide_planet_ns = False

View File

@ -26,6 +26,9 @@ feed = '''
configData = ''' configData = '''
[testfeed] [testfeed]
ignore_in_feed =
future_dates =
name_type = html name_type = html
title_type = html title_type = html
summary_type = html summary_type = html
@ -37,16 +40,21 @@ class ScrubTest(unittest.TestCase):
def test_scrub_ignore(self): def test_scrub_ignore(self):
base = feedparser.parse(feed) base = feedparser.parse(feed)
self.assertTrue(base.entries[0].has_key('author'))
self.assertTrue(base.entries[0].has_key('author_detail'))
self.assertTrue(base.entries[0].has_key('id')) self.assertTrue(base.entries[0].has_key('id'))
self.assertTrue(base.entries[0].has_key('updated')) self.assertTrue(base.entries[0].has_key('updated'))
self.assertTrue(base.entries[0].has_key('updated_parsed')) self.assertTrue(base.entries[0].has_key('updated_parsed'))
self.assertTrue(base.entries[0].summary_detail.has_key('language')) self.assertTrue(base.entries[0].summary_detail.has_key('language'))
config.parser.readfp(StringIO.StringIO(configData)) config.parser.readfp(StringIO.StringIO(configData))
config.parser.set('testfeed', 'ignore_in_feed', 'id updated xml:lang') config.parser.set('testfeed', 'ignore_in_feed',
'author id updated xml:lang')
data = deepcopy(base) data = deepcopy(base)
scrub('testfeed', data) scrub('testfeed', data)
self.assertFalse(data.entries[0].has_key('author'))
self.assertFalse(data.entries[0].has_key('author_detail'))
self.assertFalse(data.entries[0].has_key('id')) self.assertFalse(data.entries[0].has_key('id'))
self.assertFalse(data.entries[0].has_key('updated')) self.assertFalse(data.entries[0].has_key('updated'))
self.assertFalse(data.entries[0].has_key('updated_parsed')) self.assertFalse(data.entries[0].has_key('updated_parsed'))