From 64b8e2648eb3bfa8e9111708f702ad689ff41598 Mon Sep 17 00:00:00 2001 From: Pablo Hoffman Date: Sun, 23 Oct 2011 03:06:59 -0200 Subject: [PATCH] added support for using '-' in scrapy crawl -o, to dump items to standard output --- scrapy/commands/crawl.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/scrapy/commands/crawl.py b/scrapy/commands/crawl.py index 424aa0224..40fd3469c 100644 --- a/scrapy/commands/crawl.py +++ b/scrapy/commands/crawl.py @@ -17,9 +17,9 @@ class Command(ScrapyCommand): parser.add_option("-a", dest="spargs", action="append", default=[], metavar="NAME=VALUE", \ help="set spider argument (may be repeated)") parser.add_option("-o", "--output", metavar="FILE", \ - help="store scraped items into FILE (using feed exports)") + help="dump scraped items into FILE (use - for stdout)") parser.add_option("-t", "--output-format", metavar="FORMAT", default="jsonlines", \ - help="format to use in feed exports (default: %default)") + help="format to use for dumping items with -o (default: %default)") def process_options(self, args, opts): ScrapyCommand.process_options(self, args, opts) @@ -28,7 +28,10 @@ class Command(ScrapyCommand): except ValueError: raise UsageError("Invalid -a value, use -a NAME=VALUE", print_help=False) if opts.output: - self.settings.overrides['FEED_URI'] = opts.output + if opts.output == '-': + self.settings.overrides['FEED_URI'] = 'stdout:' + else: + self.settings.overrides['FEED_URI'] = opts.output self.settings.overrides['FEED_FORMAT'] = opts.output_format def run(self, args, opts):