Browse Source

set module version

Fabian Peter Hammerle 5 years ago
parent
commit
05644cb8ef
4 changed files with 25 additions and 0 deletions
  1. 2 0
      pubmed_bibtex/__init__.py
  2. 6 0
      pubmed_bibtex/__main__.py
  3. 10 0
      tests/test_main.py
  4. 7 0
      tests/test_version.py

+ 2 - 0
pubmed_bibtex/__init__.py

@@ -25,6 +25,8 @@ import re
 
 import requests
 
+from pubmed_bibtex.version import __version__
+
 _TEXMED_URL_PATTERN = 'https://www.bioinformatics.org/texmed/cgi-bin' \
                       '/list.cgi?PMID={pmid}&linkOut'
 

+ 6 - 0
pubmed_bibtex/__main__.py

@@ -2,14 +2,20 @@ import argparse
 
 import pubmed_bibtex
 
+__version__ = pubmed_bibtex.__version__
+
+
 def main():
     argparser = argparse.ArgumentParser(
         description=pubmed_bibtex.__doc__.strip(),
         formatter_class=argparse.RawDescriptionHelpFormatter)
+    argparser.add_argument('--version', action='version',
+                           version=pubmed_bibtex.__version__)
     argparser.add_argument('pmid')
     args = argparser.parse_args()
     print(pubmed_bibtex.bibtex_entry_from_pmid(pmid=args.pmid),
           end='')
 
+
 if __name__ == '__main__':
     main()

+ 10 - 0
tests/test_main.py

@@ -1,6 +1,7 @@
 import subprocess
 import unittest.mock
 
+import pubmed_bibtex
 from pubmed_bibtex.__main__ import main
 
 from conftest import TEST_PMID, TEST_BIBTEX_ENTRY
@@ -30,3 +31,12 @@ def test_script():
                                stderr=subprocess.PIPE)
     assert not proc_info.stderr
     assert proc_info.stdout == TEST_BIBTEX_ENTRY.encode()
+
+
+def test_version():
+    proc_info = subprocess.run(['pubmed-bibtex', '--version'],
+                               check=True,
+                               stdout=subprocess.PIPE,
+                               stderr=subprocess.PIPE)
+    assert not proc_info.stderr
+    assert proc_info.stdout == pubmed_bibtex.__version__.encode() + b'\n'

+ 7 - 0
tests/test_version.py

@@ -0,0 +1,7 @@
+import re
+
+import pubmed_bibtex
+
+
+def test_version():
+    assert re.match(r'^\d+\.\d+\.', pubmed_bibtex.__version__)