From e572b2edfa993c5049ef3caeda7a8e4797f0c751 Mon Sep 17 00:00:00 2001 From: Kelly Brazil Date: Wed, 16 Oct 2019 15:03:34 -0700 Subject: [PATCH] use entry_points instead of scripts --- jc/jc | 48 ++++++++++++++++++++++++++---------------------- setup.py | 8 ++++++-- 2 files changed, 32 insertions(+), 24 deletions(-) diff --git a/jc/jc b/jc/jc index e133ea7c..6f709b96 100755 --- a/jc/jc +++ b/jc/jc @@ -10,30 +10,34 @@ import jc.parsers.ifconfig import jc.parsers.ls import jc.parsers.netstat -pretty = False -data = sys.stdin.read() +def main(): + pretty = False + data = sys.stdin.read() -if len(sys.argv) < 2: - print(f'\nError: {sys.argv[0]}\n Must specify parser. (e.g. --ls, --netstat, --ifconfig, etc.)') - print(' Use -p to pretty print') - print(f'\nExample: ls -al | {sys.argv[0]} --ls -p\n') - exit() + if len(sys.argv) < 2: + print(f'\nError: {sys.argv[0]}\n Must specify parser. (e.g. --ls, --netstat, --ifconfig, etc.)') + print(' Use -p to pretty print') + print(f'\nExample: ls -al | {sys.argv[0]} --ls -p\n') + exit() -arg = sys.argv[1] + arg = sys.argv[1] -if len(sys.argv) > 2: - if sys.argv[2] == '-p': - pretty = True + if len(sys.argv) > 2: + if sys.argv[2] == '-p': + pretty = True -if arg == '--ifconfig': - result = jc.parsers.ifconfig.parse(data) -elif arg == '--ls': - result = jc.parsers.ls.parse(data) -elif arg == '--netstat': - result = jc.parsers.netstat.parse(data) + if arg == '--ifconfig': + result = jc.parsers.ifconfig.parse(data) + elif arg == '--ls': + result = jc.parsers.ls.parse(data) + elif arg == '--netstat': + result = jc.parsers.netstat.parse(data) -# output resulting dictionary as json -if pretty: - print(json.dumps(result, indent=2)) -else: - print(json.dumps(result)) + # output resulting dictionary as json + if pretty: + print(json.dumps(result, indent=2)) + else: + print(json.dumps(result)) + +if __name__ == '__main__': + main() diff --git a/setup.py b/setup.py index dba9cc4a..f70cf7ff 100755 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ with open('README.md', 'r') as f: setuptools.setup( name='jc', - version='0.1', + version='0.1.1', author='Kelly Brazil', description='This tool serializes the output of popular command line tools to structured JSON output.', install_requires=[ @@ -17,7 +17,11 @@ setuptools.setup( python_requires='~=3.4', url='https://github.com/kellyjonbrazil/jc', packages=setuptools.find_packages(), - scripts=['jc/jc'], + entry_points={ + 'console_scripts': [ + 'jc = jc/jc:main', + ], + }, classifiers=[ 'Programming Language :: Python :: 3', 'License :: OSI Approved :: MIT License',