projects
/
osm
/
NBI.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Get version from installed package if available instead of code
[osm/NBI.git]
/
osm_nbi
/
nbi.py
diff --git
a/osm_nbi/nbi.py
b/osm_nbi/nbi.py
index
e2419cf
..
5b16544
100644
(file)
--- a/
osm_nbi/nbi.py
+++ b/
osm_nbi/nbi.py
@@
-35,7
+35,7
@@
from osm_common.msgbase import MsgException
from http import HTTPStatus
from codecs import getreader
from os import environ, path
from http import HTTPStatus
from codecs import getreader
from os import environ, path
-from osm_nbi import version as nbi_version, version_date as nbi_version_date
+from osm_nbi import version as
_
nbi_version, version_date as nbi_version_date
__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
__author__ = "Alfonso Tierno <alfonso.tiernosepulveda@telefonica.com>"
@@
-46,6
+46,7
@@
database_version = '1.2'
auth_database_version = '1.0'
nbi_server = None # instance of Server class
subscription_thread = None # instance of SubscriptionThread class
auth_database_version = '1.0'
nbi_server = None # instance of Server class
subscription_thread = None # instance of SubscriptionThread class
+nbi_version = _nbi_version # by default this is fixed in the code
"""
"""
@@
-257,7
+258,7
@@
valid_url_methods = {
},
"k8sclusters": {"METHODS": ("GET", "POST"),
"ROLE_PERMISSION": "k8sclusters:",
},
"k8sclusters": {"METHODS": ("GET", "POST"),
"ROLE_PERMISSION": "k8sclusters:",
- "<ID>": {"METHODS": ("GET", "DELETE", "PATCH"
, "PUT"
),
+ "<ID>": {"METHODS": ("GET", "DELETE", "PATCH"),
"ROLE_PERMISSION": "k8sclusters:id:"
}
},
"ROLE_PERMISSION": "k8sclusters:id:"
}
},
@@
-482,8
+483,8
@@
class Server(object):
def __init__(self):
self.instance += 1
def __init__(self):
self.instance += 1
- self.engine = Engine()
self.authenticator = Authenticator(valid_url_methods, valid_query_string)
self.authenticator = Authenticator(valid_url_methods, valid_query_string)
+ self.engine = Engine(self.authenticator.tokens_cache)
def _format_in(self, kwargs):
try:
def _format_in(self, kwargs):
try:
@@
-1173,6
+1174,18
@@
class Server(object):
cherrypy.request.login += ";{}={}".format(logging_id, outdata[logging_id][:36])
cherrypy.request.login += ";{}={}".format(logging_id, outdata[logging_id][:36])
+def _get_version():
+ """
+ Try to get version from package using pkg_resources (available with setuptools)
+ """
+ global nbi_version
+ try:
+ from pkg_resources import get_distribution
+ nbi_version = get_distribution("osm_nbi").version
+ except Exception:
+ pass
+
+
def _start_service():
"""
Callback function called when cherrypy.engine starts
def _start_service():
"""
Callback function called when cherrypy.engine starts
@@
-1273,8
+1286,8
@@
def _start_service():
# load and print version. Ignore possible errors, e.g. file not found
try:
# load and print version. Ignore possible errors, e.g. file not found
try:
+ _get_version()
backend = engine_config["authentication"]["backend"]
backend = engine_config["authentication"]["backend"]
- nbi_version
cherrypy.log.error("Starting OSM NBI Version '{}' with '{}' authentication backend"
.format(nbi_version + " " + nbi_version_date, backend))
except Exception:
cherrypy.log.error("Starting OSM NBI Version '{}' with '{}' authentication backend"
.format(nbi_version + " " + nbi_version_date, backend))
except Exception: