From c037e265c61f710ce0a54cc51b7e2e9ba8486e46 Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Mon, 14 May 2018 22:44:31 +0200
Subject: [PATCH] Add a `--version` option

---
 main.py               |  3 +++
 tests/test_climat2.py | 12 ++++++++++--
 2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/main.py b/main.py
index 933059b..7b32956 100755
--- a/main.py
+++ b/main.py
@@ -10,6 +10,7 @@ import multiprocessing
 
 from src import parser_factory
 
+__version__ = '0.1'
 
 def __check_file(filename:str, mode:int = os.R_OK) -> bool:
     if not os.path.isfile(filename):
@@ -24,6 +25,8 @@ def __check_file(filename:str, mode:int = os.R_OK) -> bool:
 def create_arg_parser():
     parser = argparse.ArgumentParser(description='Metadata anonymisation toolkit 2')
     parser.add_argument('files', nargs='*')
+    parser.add_argument('-v', '--version', action='version',
+            version='MAT2 %s' % __version__)
 
     info = parser.add_argument_group('Information')
     info.add_argument('-c', '--check', action='store_true',
diff --git a/tests/test_climat2.py b/tests/test_climat2.py
index 44703b7..67b56eb 100644
--- a/tests/test_climat2.py
+++ b/tests/test_climat2.py
@@ -8,12 +8,20 @@ class TestHelp(unittest.TestCase):
     def test_help(self):
         proc = subprocess.Popen(['./main.py', '--help'], stdout=subprocess.PIPE)
         stdout, _ = proc.communicate()
-        self.assertIn(b'usage: main.py [-h] [-c] [-l] [-s] [-L] [files [files ...]]', stdout)
+        self.assertIn(b'usage: main.py [-h] [-v] [-c] [-l] [-s] [-L] [files [files ...]]', stdout)
 
     def test_no_arg(self):
         proc = subprocess.Popen(['./main.py'], stdout=subprocess.PIPE)
         stdout, _ = proc.communicate()
-        self.assertIn(b'usage: main.py [-h] [-c] [-l] [-s] [-L] [files [files ...]]', stdout)
+        self.assertIn(b'usage: main.py [-h] [-v] [-c] [-l] [-s] [-L] [files [files ...]]', stdout)
+
+
+class TestVersion(unittest.TestCase):
+    def test_version(self):
+        proc = subprocess.Popen(['./main.py', '--version'], stdout=subprocess.PIPE)
+        stdout, _ = proc.communicate()
+        self.assertTrue(stdout.startswith(b'MAT2 '))
+
 
 
 class TestReturnValue(unittest.TestCase):
-- 
GitLab