From 61beba151f0076181e8d4aae3283919cfd43902a Mon Sep 17 00:00:00 2001 From: 3wc <3wc.git@doesthisthing.work> Date: Fri, 18 Dec 2020 17:11:39 +0200 Subject: [PATCH] Add CSV output for `activities list` --- hamstertools/__init__.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/hamstertools/__init__.py b/hamstertools/__init__.py index fd6bf9a..0acf70f 100755 --- a/hamstertools/__init__.py +++ b/hamstertools/__init__.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3.7 +import sys import click import csv from datetime import datetime @@ -154,13 +155,20 @@ def activities(): @activities.command('list') @click.option('--search', help='Search string') -def list_activities(search): +@click.option('--csv/--no-csv', 'csv_output', default=False, help='CSV output') +def list_activities(search, csv_output): """ List / search activities """ results = get_activities(search=search) + if csv_output: + csv_writer = csv.writer(sys.stdout) + for r in results: - click.echo('@{0[3]}: {0[2]} » {0[0]}: {0[1]}'.format(r)) + if csv_output: + csv_writer.writerow([r[3], r[2], r[0], r[1]]) + else: + click.echo('@{0[3]}: {0[2]} » {0[0]}: {0[1]}'.format(r)) @activities.command('delete')