From 6333f55c872505ed5a417aa9364a79be3a6049b4 Mon Sep 17 00:00:00 2001 From: zevav Date: Wed, 20 Feb 2019 13:04:26 -0500 Subject: [PATCH] fixed is_path helper, added pretty printing option and turned it off by default, for piping --- setup.py | 2 +- tpro/helpers.py | 5 ++++- tpro/outputs.py | 8 ++++---- tpro/tpro.py | 5 ++++- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/setup.py b/setup.py index 5305ef6..1ff7d06 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ with open('README_PYPI.md') as file: setup( name="tpro", - version="0.06", + version="0.08", url='https://github.com/zevaverbach/tpro', install_requires=[ 'Click', diff --git a/tpro/helpers.py b/tpro/helpers.py index 75036e3..55897f3 100644 --- a/tpro/helpers.py +++ b/tpro/helpers.py @@ -40,4 +40,7 @@ def get_punc_after(word): def is_path(string): - return Path(string).exists() + try: + return Path(string).exists() + except OSError: + return False diff --git a/tpro/outputs.py b/tpro/outputs.py index 08f4b75..26acf68 100644 --- a/tpro/outputs.py +++ b/tpro/outputs.py @@ -1,14 +1,14 @@ import json -def universal_transcript(self): - return json.dumps(self.converted_words, indent=4) +def universal_transcript(self, pretty=False): + return json.dumps(self.converted_words, indent=4 if pretty else None) -def viral_overlay(self): +def viral_overlay(self, pretty=False): return json.dumps([{ 'start': word['start'], 'stop': word['end'], 'text': word['word'].title() if word['always_capitalized'] else word['word']} - for word in self.converted_words], indent=4 + for word in self.converted_words], indent=4 if pretty else None ) diff --git a/tpro/tpro.py b/tpro/tpro.py index 5f319e3..f3b2726 100644 --- a/tpro/tpro.py +++ b/tpro/tpro.py @@ -12,10 +12,13 @@ output_choices = [k for k, v in @click.command() @click.option('-s', '--save', type=str, help='save to JSON file') +@click.option('-p', '--pretty', is_flag=True, + help='pretty print the transcript, breaks pipeability') @click.argument('json_path_or_data', type=str) @click.argument('input_format', type=click.Choice(services.keys())) @click.argument('output_format', type=click.Choice(output_choices)) def cli(save, + pretty, json_path_or_data, input_format, output_format): @@ -34,4 +37,4 @@ def cli(save, click.echo(f'{path} saved.') else: output_formatter = getattr(converter, output_format) - click.echo(output_formatter()) + click.echo(output_formatter(pretty))