aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/vk
diff options
context:
space:
mode:
authorEgor Tensin <Egor.Tensin@gmail.com>2023-03-03 10:17:28 +0100
committerEgor Tensin <Egor.Tensin@gmail.com>2023-03-03 10:17:28 +0100
commit0835d1b7811c38f8e4f48ae3772d26fccd70c217 (patch)
tree4e054105ceb6735a6d99f737fa9a4e0ef44ac2dc /vk
parentworkflows/ci: unpin runner image (diff)
downloadvk-scripts-1.0.3.tar.gz
vk-scripts-1.0.3.zip
add runtime version informationv1.0.3
Diffstat (limited to 'vk')
-rw-r--r--vk/mutuals.py3
-rw-r--r--vk/tracking/sessions.py3
-rw-r--r--vk/tracking/status.py5
-rw-r--r--vk/version.py15
4 files changed, 25 insertions, 1 deletions
diff --git a/vk/mutuals.py b/vk/mutuals.py
index 644baf8..10dcc2e 100644
--- a/vk/mutuals.py
+++ b/vk/mutuals.py
@@ -12,6 +12,7 @@ import sys
from vk.api import API
from vk.user import UserField
from vk.utils import io
+import vk.version
_OUTPUT_USER_FIELDS = UserField.UID, UserField.FIRST_NAME, UserField.LAST_NAME
@@ -84,6 +85,8 @@ def _parse_args(args=None):
parser = argparse.ArgumentParser(
description='Learn who your ex and her new boyfriend are both friends with.')
+ vk.version.add_to_arg_parser(parser)
+
parser.add_argument('uids', metavar='UID', nargs='+',
help='user IDs or "screen names"')
parser.add_argument('-f', '--format', dest='out_fmt',
diff --git a/vk/tracking/sessions.py b/vk/tracking/sessions.py
index 278a004..4b6fd66 100644
--- a/vk/tracking/sessions.py
+++ b/vk/tracking/sessions.py
@@ -15,6 +15,7 @@ from vk.tracking.db import Format as DatabaseFormat
from vk.user import UserField
from vk.utils.bar_chart import BarChartBuilder
from vk.utils import io
+import vk.version
class Weekday(Enum):
@@ -436,6 +437,8 @@ def _parse_args(args=None):
parser = argparse.ArgumentParser(
description='View/visualize the amount of time people spend online.')
+ vk.version.add_to_arg_parser(parser)
+
parser.add_argument('db_path', metavar='input', nargs='?',
help='database file path (standard input by default)')
parser.add_argument('out_path', metavar='output', nargs='?',
diff --git a/vk/tracking/status.py b/vk/tracking/status.py
index 0a02413..0dd5e42 100644
--- a/vk/tracking/status.py
+++ b/vk/tracking/status.py
@@ -12,8 +12,9 @@ import sys
from vk.api import API
import vk.error
-from vk.user import UserField
from vk.tracking.db import Format as DatabaseFormat
+from vk.user import UserField
+import vk.version
class StatusTracker:
@@ -171,6 +172,8 @@ def _parse_args(args=None):
parser = argparse.ArgumentParser(
description='Track when people go online/offline.')
+ vk.version.add_to_arg_parser(parser)
+
parser.add_argument('uids', metavar='UID', nargs='+',
help='user IDs or "screen names"')
parser.add_argument('-t', '--timeout', metavar='SECONDS',
diff --git a/vk/version.py b/vk/version.py
new file mode 100644
index 0000000..6843bf4
--- /dev/null
+++ b/vk/version.py
@@ -0,0 +1,15 @@
+try:
+ import importlib.metadata as metadata
+except ImportError:
+ import importlib_metadata as metadata
+
+
+try:
+ __version__ = metadata.version('vk_scripts')
+except Exception:
+ __version__ = 'unknown'
+
+
+def add_to_arg_parser(parser):
+ parser.add_argument('--version', '-V', action='version',
+ version=f'%(prog)s {__version__}')