From 43ae69e436992285292aa96b7eabc74df45a206e Mon Sep 17 00:00:00 2001 From: Julia Medina Date: Mon, 9 Jun 2014 12:20:09 -0300 Subject: [PATCH] Fix settings usage in runspider and crawl commands Explicit conversion of FEED_EXPORTERS and FEED_EXPORTERS_BASE values into dictionaries, and cast of the keys to a list for py3 support. --- scrapy/commands/crawl.py | 5 ++++- scrapy/commands/runspider.py | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scrapy/commands/crawl.py b/scrapy/commands/crawl.py index 5797fd81b..0976de51b 100644 --- a/scrapy/commands/crawl.py +++ b/scrapy/commands/crawl.py @@ -34,7 +34,10 @@ class Command(ScrapyCommand): self.settings.set('FEED_URI', 'stdout:', priority='cmdline') else: self.settings.set('FEED_URI', opts.output, priority='cmdline') - valid_output_formats = self.settings['FEED_EXPORTERS'].keys() + self.settings['FEED_EXPORTERS_BASE'].keys() + valid_output_formats = ( + list(self.settings.getdict('FEED_EXPORTERS').keys()) + + list(self.settings.getdict('FEED_EXPORTERS_BASE').keys()) + ) if not opts.output_format: opts.output_format = os.path.splitext(opts.output)[1].replace(".", "") if opts.output_format not in valid_output_formats: diff --git a/scrapy/commands/runspider.py b/scrapy/commands/runspider.py index 89d3337b6..b1d501842 100644 --- a/scrapy/commands/runspider.py +++ b/scrapy/commands/runspider.py @@ -57,7 +57,10 @@ class Command(ScrapyCommand): self.settings.set('FEED_URI', 'stdout:', priority='cmdline') else: self.settings.set('FEED_URI', opts.output, priority='cmdline') - valid_output_formats = self.settings['FEED_EXPORTERS'].keys() + self.settings['FEED_EXPORTERS_BASE'].keys() + valid_output_formats = ( + list(self.settings.getdict('FEED_EXPORTERS').keys()) + + list(self.settings.getdict('FEED_EXPORTERS_BASE').keys()) + ) if not opts.output_format: opts.output_format = os.path.splitext(opts.output)[1].replace(".", "") if opts.output_format not in valid_output_formats: