added support for using '-' in scrapy crawl -o, to dump items to standard output

This commit is contained in:
Pablo Hoffman 2011-10-23 03:06:59 -02:00
parent 028bf3386d
commit 64b8e2648e
1 changed files with 6 additions and 3 deletions

View File

@ -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):