From 3bd6078b2177a529fc97aa0c723ea7aa51d463c4 Mon Sep 17 00:00:00 2001 From: Johann Jacobsohn <j.jacobsohn@satzmedia.de> Date: Mon, 17 Aug 2020 16:39:42 +0200 Subject: [PATCH] add --version argument --- MANIFEST.in | 1 + papersurfer/__init__.py | 0 papersurfer/_version.txt | 1 + papersurfer/papersurfer.py | 9 +++++++++ setup.py | 3 ++- 5 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 MANIFEST.in create mode 100644 papersurfer/__init__.py create mode 100644 papersurfer/_version.txt diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..cff3a33 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1 @@ +include papersurfer/_version.txt diff --git a/papersurfer/__init__.py b/papersurfer/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/papersurfer/_version.txt b/papersurfer/_version.txt new file mode 100644 index 0000000..78bc1ab --- /dev/null +++ b/papersurfer/_version.txt @@ -0,0 +1 @@ +0.10.0 diff --git a/papersurfer/papersurfer.py b/papersurfer/papersurfer.py index c09d4d0..aba2229 100644 --- a/papersurfer/papersurfer.py +++ b/papersurfer/papersurfer.py @@ -403,6 +403,13 @@ class PostDialog(urwid.WidgetWrap): self.doi_result.set_text("invalid doi") +def get_version(): + from pathlib import Path + pkgbase = Path(__file__).parent + with open(f"{pkgbase}/_version.txt", "r") as f: + return f.read() + + def parse_args(): """Parse command line arguments and config file.""" parser = configargparse.ArgParser( @@ -421,6 +428,8 @@ def parse_args(): help="Dump mattermost paper posts to stdout and exit") parser.add('--dump-bibtex', action='store_true', help="Dump mattermost paper posts to stdout and exit") + parser.add('--version', action='version', + version=get_version()) options = parser.parse_args() if not options.url: diff --git a/setup.py b/setup.py index b9ce06b..0ad4520 100644 --- a/setup.py +++ b/setup.py @@ -6,11 +6,12 @@ HERE = pathlib.Path(__file__).parent # The text of the README file README = (HERE / "README.md").read_text() +VERSION = (HERE / "papersurfer/_version.txt").read_text() # This call to setup() does all the work setup( name="papersurfer", - version="0.7.0", + version=VERSION, description="", long_description=README, long_description_content_type="text/markdown", -- GitLab