From 9cf99f78b4b116adce2ef9d5faff5df7425b854d Mon Sep 17 00:00:00 2001 From: Maks Snegov Date: Mon, 15 Nov 2021 00:58:59 +0300 Subject: [PATCH] Add version support --- curateipsum/_version.py | 1 + curateipsum/{main.py => cli.py} | 7 +++++-- setup.py | 18 ++++++++++++++++-- tests/test_backups.py | 3 +-- 4 files changed, 23 insertions(+), 6 deletions(-) create mode 100644 curateipsum/_version.py rename curateipsum/{main.py => cli.py} (94%) diff --git a/curateipsum/_version.py b/curateipsum/_version.py new file mode 100644 index 0000000..65bf3ad --- /dev/null +++ b/curateipsum/_version.py @@ -0,0 +1 @@ +version = "master" diff --git a/curateipsum/main.py b/curateipsum/cli.py similarity index 94% rename from curateipsum/main.py rename to curateipsum/cli.py index 3cf08bb..2741f98 100755 --- a/curateipsum/main.py +++ b/curateipsum/cli.py @@ -8,8 +8,9 @@ import sys import time from curateipsum import backup +from curateipsum._version import version -_lg = logging.getLogger("spqr.curateipsum") +_lg = logging.getLogger("curateipsum") SUPPORTED_PLATFORMS = ("linux", "darwin") @@ -21,7 +22,9 @@ def main(): parser = argparse.ArgumentParser( prog="cura-te-ipsum", description="cura-te-ipsum, my personal backup software.", ) - parser.add_argument("-V", "--version", action="version", version="%(prog)s 0.0.1") + parser.add_argument("-V", "--version", + action="version", + version=f"%(prog)s {version}") parser.add_argument("-v", "--verbose", action="store_true", default=False, diff --git a/setup.py b/setup.py index efffb7c..0230b7f 100644 --- a/setup.py +++ b/setup.py @@ -1,13 +1,27 @@ import setuptools +import subprocess + + +def get_version_from_vcs(): + ret_code, git_ver = subprocess.getstatusoutput("git describe") + if ret_code != 0: + from curateipsum._version import version + return version + + with open("curateipsum/_version.py", "w") as fd: + fd.write("version = \"%s\"\n" % git_ver) + return git_ver + with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() setuptools.setup( name="cura-te-ipsum", - version="0.0.1.dev7", + version=get_version_from_vcs(), author="Maks Snegov", author_email="snegov@spqr.link", + url="https://github.com/snegov/cura-te-ipsum", description="Backup utility", long_description=long_description, long_description_content_type="text/markdown", @@ -27,7 +41,7 @@ setuptools.setup( packages=setuptools.find_packages(include=["curateipsum"]), entry_points={ "console_scripts": [ - "cura-te-ipsum = curateipsum.main:main", + "cura-te-ipsum = curateipsum.cli:main", ], }, python_requires=">=3.6", diff --git a/tests/test_backups.py b/tests/test_backups.py index 504a317..01a207e 100644 --- a/tests/test_backups.py +++ b/tests/test_backups.py @@ -5,8 +5,7 @@ import tempfile from unittest import TestCase, mock from datetime import datetime -import curateipsum.backup as bk -import curateipsum.fs as fs +from curateipsum import backup as bk, fs class TestBackupCleanup(TestCase):