From e8cf9ac23f0afeb074f0275a8de62bd440a1f4d8 Mon Sep 17 00:00:00 2001
From: David Huss <dh@atoav.com>
Date: Thu, 28 May 2020 08:19:12 +0200
Subject: [PATCH] Add -V, Update dependecies

---
 bbbmon/__init__.py |  2 +-
 bbbmon/bbbmon.py   | 24 +++++++++++++++++++++---
 poetry.lock        | 38 +++++++++++++++++++++++++-------------
 pyproject.toml     |  3 ++-
 4 files changed, 49 insertions(+), 18 deletions(-)

diff --git a/bbbmon/__init__.py b/bbbmon/__init__.py
index eae19a6..8cf13de 100644
--- a/bbbmon/__init__.py
+++ b/bbbmon/__init__.py
@@ -1 +1 @@
-__version__ = '0.1.0'
+__version__ = '0.1.27'
diff --git a/bbbmon/bbbmon.py b/bbbmon/bbbmon.py
index c8183a6..2f5585e 100755
--- a/bbbmon/bbbmon.py
+++ b/bbbmon/bbbmon.py
@@ -4,6 +4,8 @@ import os
 import time
 import json
 import click
+import toml
+from pathlib import Path
 
 
 # Local module imports
@@ -19,6 +21,16 @@ CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
 
 
 
+def get_version():
+    """
+    Read version
+    """
+    path = Path(__file__).resolve().parents[1] / 'pyproject.toml'
+    pyproject = toml.loads(open(str(path)).read())
+    return pyproject['tool']['poetry']['version']
+
+
+
 class AliasedGroup(click.Group):
     """
     Subclass of Group to allow abbreviating commands like this:
@@ -37,10 +49,11 @@ class AliasedGroup(click.Group):
         ctx.fail('Too many matches: %s' % ', '.join(sorted(matches)))
 
 
-@click.group(context_settings=CONTEXT_SETTINGS, cls=AliasedGroup)
+@click.group(context_settings=CONTEXT_SETTINGS, cls=AliasedGroup, invoke_without_command=True)
 @click.option('--userconfig', '-u', is_flag=True, help="Use user config even if on server")
 @click.option('--watch', '-w', help="Run repeatedly with the given interval in seconds", type=click.IntRange(2, 2147483647, clamp=True))
-def main(userconfig, watch):
+@click.option('--version', '-V', is_flag=True, help="Show version")
+def main(userconfig, watch, version):
     """BBBMON is a small CLI utility to monitor bbb usage
 
     \b
@@ -49,7 +62,12 @@ def main(userconfig, watch):
 
     Internally bbbmon relies on the offical bbb-API, which means you need to have the server's secret in order to create a valid request. Create a new configuration with: bbbmon config --new
     """
-    pass 
+    __version__ = get_version()
+
+    if version:
+        print(__version__)
+    else:
+        pass 
 
 
 
diff --git a/poetry.lock b/poetry.lock
index 45ed1e4..a5b4401 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -84,7 +84,7 @@ description = "More routines for operating on iterables, beyond itertools"
 name = "more-itertools"
 optional = false
 python-versions = ">=3.5"
-version = "8.2.0"
+version = "8.3.0"
 
 [[package]]
 category = "dev"
@@ -92,7 +92,7 @@ description = "Core utilities for Python packages"
 name = "packaging"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
-version = "20.3"
+version = "20.4"
 
 [package.dependencies]
 pyparsing = ">=2.0.2"
@@ -148,7 +148,7 @@ description = "pytest: simple powerful testing with Python"
 name = "pytest"
 optional = false
 python-versions = ">=3.5"
-version = "5.4.1"
+version = "5.4.2"
 
 [package.dependencies]
 atomicwrites = ">=1.0"
@@ -196,7 +196,15 @@ description = "Python 2 and 3 compatibility utilities"
 name = "six"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
-version = "1.14.0"
+version = "1.15.0"
+
+[[package]]
+category = "main"
+description = "Python Library for Tom's Obvious, Minimal Language"
+name = "toml"
+optional = false
+python-versions = "*"
+version = "0.10.1"
 
 [[package]]
 category = "main"
@@ -233,7 +241,7 @@ docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
 testing = ["pathlib2", "unittest2", "jaraco.itertools", "func-timeout"]
 
 [metadata]
-content-hash = "7642a95ad74d3e1ffecca489d5cb42e7494a8fe6895a730f6158d96659dbf3b4"
+content-hash = "a83b9881a3285865e8351a75e707e006ec523a3604788c35f40448b1c5a75e1e"
 python-versions = "^3.5"
 
 [metadata.files]
@@ -270,12 +278,12 @@ importlib-metadata = [
     {file = "importlib_metadata-1.6.0.tar.gz", hash = "sha256:34513a8a0c4962bc66d35b359558fd8a5e10cd472d37aec5f66858addef32c1e"},
 ]
 more-itertools = [
-    {file = "more-itertools-8.2.0.tar.gz", hash = "sha256:b1ddb932186d8a6ac451e1d95844b382f55e12686d51ca0c68b6f61f2ab7a507"},
-    {file = "more_itertools-8.2.0-py3-none-any.whl", hash = "sha256:5dd8bcf33e5f9513ffa06d5ad33d78f31e1931ac9a18f33d37e77a180d393a7c"},
+    {file = "more-itertools-8.3.0.tar.gz", hash = "sha256:558bb897a2232f5e4f8e2399089e35aecb746e1f9191b6584a151647e89267be"},
+    {file = "more_itertools-8.3.0-py3-none-any.whl", hash = "sha256:7818f596b1e87be009031c7653d01acc46ed422e6656b394b0f765ce66ed4982"},
 ]
 packaging = [
-    {file = "packaging-20.3-py2.py3-none-any.whl", hash = "sha256:82f77b9bee21c1bafbf35a84905d604d5d1223801d639cf3ed140bd651c08752"},
-    {file = "packaging-20.3.tar.gz", hash = "sha256:3c292b474fda1671ec57d46d739d072bfd495a4f51ad01a055121d81e952b7a3"},
+    {file = "packaging-20.4-py2.py3-none-any.whl", hash = "sha256:998416ba6962ae7fbd6596850b80e17859a5753ba17c32284f67bfff33784181"},
+    {file = "packaging-20.4.tar.gz", hash = "sha256:4357f74f47b9c12db93624a82154e9b120fa8293699949152b22065d556079f8"},
 ]
 pathlib2 = [
     {file = "pathlib2-2.3.5-py2.py3-none-any.whl", hash = "sha256:0ec8205a157c80d7acc301c0b18fbd5d44fe655968f5d947b6ecef5290fc35db"},
@@ -294,16 +302,20 @@ pyparsing = [
     {file = "pyparsing-2.4.7.tar.gz", hash = "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1"},
 ]
 pytest = [
-    {file = "pytest-5.4.1-py3-none-any.whl", hash = "sha256:0e5b30f5cb04e887b91b1ee519fa3d89049595f428c1db76e73bd7f17b09b172"},
-    {file = "pytest-5.4.1.tar.gz", hash = "sha256:84dde37075b8805f3d1f392cc47e38a0e59518fb46a431cfdaf7cf1ce805f970"},
+    {file = "pytest-5.4.2-py3-none-any.whl", hash = "sha256:95c710d0a72d91c13fae35dce195633c929c3792f54125919847fdcdf7caa0d3"},
+    {file = "pytest-5.4.2.tar.gz", hash = "sha256:eb2b5e935f6a019317e455b6da83dd8650ac9ffd2ee73a7b657a30873d67a698"},
 ]
 requests = [
     {file = "requests-2.23.0-py2.py3-none-any.whl", hash = "sha256:43999036bfa82904b6af1d99e4882b560e5e2c68e5c4b0aa03b655f3d7d73fee"},
     {file = "requests-2.23.0.tar.gz", hash = "sha256:b3f43d496c6daba4493e7c431722aeb7dbc6288f52a6e04e7b6023b0247817e6"},
 ]
 six = [
-    {file = "six-1.14.0-py2.py3-none-any.whl", hash = "sha256:8f3cd2e254d8f793e7f3d6d9df77b92252b52637291d0f0da013c76ea2724b6c"},
-    {file = "six-1.14.0.tar.gz", hash = "sha256:236bdbdce46e6e6a3d61a337c0f8b763ca1e8717c03b369e87a7ec7ce1319c0a"},
+    {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
+    {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},
+]
+toml = [
+    {file = "toml-0.10.1-py2.py3-none-any.whl", hash = "sha256:bda89d5935c2eac546d648028b9901107a595863cb36bae0c73ac804a9b4ce88"},
+    {file = "toml-0.10.1.tar.gz", hash = "sha256:926b612be1e5ce0634a2ca03470f95169cf16f939018233a670519cb4ac58b0f"},
 ]
 urllib3 = [
     {file = "urllib3-1.25.9-py2.py3-none-any.whl", hash = "sha256:88206b0eb87e6d677d424843ac5209e3fb9d0190d0ee169599165ec25e9d9115"},
diff --git a/pyproject.toml b/pyproject.toml
index f0e61a4..3177b9c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "bbbmon"
-version = "0.1.26"
+version = "0.1.27"
 description = "A small CLI utility to monitor bbb usage"
 authors = ["David Huss <david.huss@hfbk-hamburg.de>"]
 maintainers = ["David Huss <david.huss@hfbk-hamburg.de>"]
@@ -23,6 +23,7 @@ classifiers = [
 python = "^3.5"
 requests = "^2.23.0"
 click = "^7.1.2"
+toml = "^0.10.1"
 
 [tool.poetry.dev-dependencies]
 pytest = "^5.2"
-- 
GitLab