From 94ba56dca5892705943f93d33a96a46fe4fbdc9f Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Fri, 17 Mar 2017 11:14:45 -0700 Subject: [PATCH] actually implement the brozzler-list-jobs --job option --- brozzler/cli.py | 24 +++++++++++++++++++----- setup.py | 2 +- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/brozzler/cli.py b/brozzler/cli.py index 92d45a2..6dac04e 100644 --- a/brozzler/cli.py +++ b/brozzler/cli.py @@ -411,11 +411,25 @@ def brozzler_list_jobs(): configure_logging(args) rr = rethinker(args) - reql = rr.table('jobs').order_by('id') - if not args.all: - reql = reql.filter({'status': 'ACTIVE'}) - logging.debug('querying rethinkdb: %s', reql) - results = reql.run() + if args.job is not None: + try: + job_id = int(args.job) + except ValueError: + job_id = args.job + reql = rr.table('jobs').get(job_id) + logging.debug('querying rethinkdb: %s', reql) + result = reql.run() + if result: + results = [reql.run()] + else: + logging.error('no such job with id %s', repr(job_id)) + sys.exit(1) + else: + reql = rr.table('jobs').order_by('id') + if args.active: + reql = reql.filter({'status': 'ACTIVE'}) + logging.debug('querying rethinkdb: %s', reql) + results = reql.run() if args.yaml: yaml.dump_all( results, stream=sys.stdout, explicit_start=True, diff --git a/setup.py b/setup.py index 3353b9e..6ed7ff9 100644 --- a/setup.py +++ b/setup.py @@ -32,7 +32,7 @@ def find_package_data(package): setuptools.setup( name='brozzler', - version='1.1b9.dev207', + version='1.1b9.dev208', description='Distributed web crawling with browsers', url='https://github.com/internetarchive/brozzler', author='Noah Levitt',