From e59fe786dcfa8c12266f0b4e90d137f7e881a619 Mon Sep 17 00:00:00 2001 From: Yuya Unno Date: Sun, 12 Oct 2014 22:20:26 +0900 Subject: [PATCH 1/3] Make version variable in __init__.py --- mrep/__init__.py | 1 + setup.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/mrep/__init__.py b/mrep/__init__.py index e69de29..df9144c 100644 --- a/mrep/__init__.py +++ b/mrep/__init__.py @@ -0,0 +1 @@ +__version__ = '0.1.1' diff --git a/setup.py b/setup.py index 831cbad..5b1c86f 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,7 @@ import os from setuptools import setup +from mrep import __version__ requires = [ 'mecab-python3', @@ -12,7 +13,7 @@ def read(name): setup( name='mrep', - version='0.1.1', + version=__version__, description='MREP: morpheme regular expression printer', long_description=read('README.rst'), author='Yuya Unno', From 79cb1099d081d5496d86fd90688f07d8864552ed Mon Sep 17 00:00:00 2001 From: Yuya Unno Date: Sun, 12 Oct 2014 22:46:22 +0900 Subject: [PATCH 2/3] Add version option --- scripts/mrep | 13 ++++++++++++- test/mrep_test.py | 11 +++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/scripts/mrep b/scripts/mrep index 4a0bf92..24df8fe 100755 --- a/scripts/mrep +++ b/scripts/mrep @@ -42,7 +42,7 @@ if __name__ == '__main__': parser = argparse.ArgumentParser( description='MREP: morpheme regular expression printer') parser.add_argument('pattern', metavar='PATTERN', - help='pattern') + nargs='?', help='pattern') parser.add_argument('file', metavar='FILE', nargs='*', help='data file') parser.add_argument('-o', '--only-matching', action='store_true', @@ -57,8 +57,19 @@ if __name__ == '__main__': parser.add_argument('--mecab-arg', type=str, default='', help='argument to pass to mecab ' '(ex: "-r /path/to/resource/file")') + parser.add_argument('--version', action='store_true', + help='show version number') args = parser.parse_args() + if args.version: + sys.stdout.write('mrep %s\n' % mrep.__version__) + sys.exit(0) + + if args.pattern is None: + parser.print_usage() + sys.stdout.write('mrep: error: PATTERN is required\n') + sys.exit(2) + try: matcher = mrep.builder.parse(args.pattern) except mrep.builder.ParseError as e: diff --git a/test/mrep_test.py b/test/mrep_test.py index f2553a0..76ffaad 100644 --- a/test/mrep_test.py +++ b/test/mrep_test.py @@ -2,6 +2,7 @@ import unittest import subprocess +from mrep import __version__ ESCAPE = '\033[%sm' RED = ESCAPE % '31' @@ -57,3 +58,13 @@ def test_invalid_pattern(self): self.call('"<"', 'test/data/1.txt') self.assertEqual(3, cm.exception.returncode) + + def test_no_pattern(self): + with self.assertRaises(subprocess.CalledProcessError) as cm: + self.call() + + self.assertEqual(2, cm.exception.returncode) + + def test_version(self): + out = self.call('--version') + self.assertTrue(__version__ in out) From 680887bb6381abe6ea1abedb0f6368bcfb485f96 Mon Sep 17 00:00:00 2001 From: Yuya Unno Date: Sun, 12 Oct 2014 22:52:06 +0900 Subject: [PATCH 3/3] Add str for py3 --- test/mrep_test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/mrep_test.py b/test/mrep_test.py index 76ffaad..228f828 100644 --- a/test/mrep_test.py +++ b/test/mrep_test.py @@ -67,4 +67,4 @@ def test_no_pattern(self): def test_version(self): out = self.call('--version') - self.assertTrue(__version__ in out) + self.assertTrue(__version__ in str(out))