aboutsummaryrefslogtreecommitdiff
path: root/python/config.py
diff options
context:
space:
mode:
authorLuciano Resende <lresende@apache.org>2017-01-19 12:39:03 -0800
committerLuciano Resende <lresende@apache.org>2017-01-23 11:10:04 -0800
commit78920739e7f5c3e1ee6d6c4632e513aabf108eb2 (patch)
treee083c557ff6a77e78ff56980d2a31a9c5d4d68f1 /python/config.py
parentf378b236663cef80a02215714e7b5590fdc8e26b (diff)
downloadtoree-gateway-78920739e7f5c3e1ee6d6c4632e513aabf108eb2.tar.gz
toree-gateway-78920739e7f5c3e1ee6d6c4632e513aabf108eb2.tar.bz2
toree-gateway-78920739e7f5c3e1ee6d6c4632e513aabf108eb2.zip
Lifecycle management for Toree Gateway
The lifecycle enables starting/stopping the remote Toree instance when a Notebook is started/stopped. This also includes other minor changes to support Python 3.5.x
Diffstat (limited to 'python/config.py')
-rw-r--r--python/config.py82
1 files changed, 82 insertions, 0 deletions
diff --git a/python/config.py b/python/config.py
new file mode 100644
index 0000000..e7e69ea
--- /dev/null
+++ b/python/config.py
@@ -0,0 +1,82 @@
+#
+# (C) Copyright IBM Corp. 2017
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+import os
+import os.path
+import configparser
+
+class ConfigManager:
+ config = configparser.RawConfigParser()
+ homePath = os.getcwd()[:-7]
+ configPath = None
+ profilesPath = None
+
+ def __init__(self):
+ if os.environ["TOREE_GATEWAY_HOME"]:
+ self.configPath = os.environ["TOREE_GATEWAY_HOME"] + '/conf'
+ self.profilesPath = os.environ["TOREE_GATEWAY_HOME"] + '/profiles'
+ else:
+ self.configPath = self.homePath + '/src/main/resources/'
+ self.profilesPath = self.homePath + '/src/main/resources/profiles'
+
+ self.config.read(self.configPath + '/toree-gateway.properties')
+
+ def getHomeFolder(self):
+ """
+ Return home folder based on where app is running
+ :return:
+ """
+ return self.homePath
+
+ def getConfigurationFolder(self):
+ """
+ Return the location where configuration file is being read
+ :return:
+ """
+ return self.configPath
+
+ def getProfilesFolder(self):
+ """
+ Return the location where profiles information are is being read
+ :return:
+ """
+ return self.profilesPath
+
+
+ def get(self, key):
+ """
+ Return a configuration from gegeral section
+ :param key: the configuration key
+ :return:
+ """
+ return self.config.get('general', key)
+
+ def getBySection(self, section, key):
+ """
+ Return a configuration from a specific section and key
+ :param section: the configuration section
+ :param key: the configuration key
+ :return:
+ """
+ return self.config.get(section, key)
+
+
+"""
+c = ConfigManager()
+print c.getHomeFolder()
+print c.getConfigurationFolder()
+print c.getProfilesFolder()
+""" \ No newline at end of file