From 7e353761a33261794f28f6cb1c8a15fe374388b8 Mon Sep 17 00:00:00 2001 From: Denys Butenko Date: Wed, 26 Mar 2014 12:27:52 +0200 Subject: [PATCH] Added more verbose error message for unrecognized output format. PEP8. --- scrapy/commands/crawl.py | 5 ++++- scrapy/commands/runspider.py | 7 ++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/scrapy/commands/crawl.py b/scrapy/commands/crawl.py index 6d56b5ea3..1cd40469b 100644 --- a/scrapy/commands/crawl.py +++ b/scrapy/commands/crawl.py @@ -38,7 +38,10 @@ class Command(ScrapyCommand): if not opts.output_format: opts.output_format = os.path.splitext(opts.output)[1].replace(".", "") if opts.output_format not in valid_output_formats: - raise UsageError('Invalid/unrecognized output format: %s, Expected %s' % (opts.output_format, valid_output_formats)) + raise UsageError("Unrecognized output format '%s', set one" + " using the '-t' switch or as a file extension" + " from the supported list %s" % (opts.output_format, + tuple(valid_output_formats))) self.settings.overrides['FEED_FORMAT'] = opts.output_format def run(self, args, opts): diff --git a/scrapy/commands/runspider.py b/scrapy/commands/runspider.py index a9b429ec4..2d537dee7 100644 --- a/scrapy/commands/runspider.py +++ b/scrapy/commands/runspider.py @@ -7,6 +7,7 @@ from scrapy.command import ScrapyCommand from scrapy.exceptions import UsageError from scrapy.utils.conf import arglist_to_dict + def _import_file(filepath): abspath = os.path.abspath(filepath) dirname, file = os.path.split(abspath) @@ -22,6 +23,7 @@ def _import_file(filepath): sys.path.pop(0) return module + class Command(ScrapyCommand): requires_project = False @@ -59,7 +61,10 @@ class Command(ScrapyCommand): if not opts.output_format: opts.output_format = os.path.splitext(opts.output)[1].replace(".", "") if opts.output_format not in valid_output_formats: - raise UsageError('Invalid/unrecognized output format: %s, Expected %s' % (opts.output_format, valid_output_formats)) + raise UsageError("Unrecognized output format '%s', set one" + " using the '-t' switch or as a file extension" + " from the supported list %s" % (opts.output_format, + tuple(valid_output_formats))) self.settings.overrides['FEED_FORMAT'] = opts.output_format def run(self, args, opts):