On 01/07/2014 06:56 AM, Mark Wu wrote:
The configuration is also needed for other code except starting
kimchi
server. So it should be moved to a separate module, config.py. Then the
configuration can be accessed directly by importing config module.
Signed-off-by: Mark Wu <wudxw(a)linux.vnet.ibm.com>
---
src/kimchi/config.py.in | 24 ++++++++++++++++++++++++
src/kimchid.in | 20 +-------------------
2 files changed, 25 insertions(+), 19 deletions(-)
diff --git a/src/kimchi/config.py.in b/src/kimchi/config.py.in
index f3c408a..72308ff 100644
--- a/src/kimchi/config.py.in
+++ b/src/kimchi/config.py.in
@@ -27,6 +27,7 @@ import os
import platform
+from ConfigParser import SafeConfigParser
from glob import iglob
@@ -166,5 +167,28 @@ def get_plugin_tab_xml(name):
return os.path.join(_get_plugin_ui_dir(name), 'config/tab-ext.xml')
+def _get_config():
+ config = SafeConfigParser()
+ config.add_section("server")
+ config.set("server", "host", "0.0.0.0")
+ config.set("server", "port", "8000")
+ config.set("server", "ssl_port", "8001")
+ config.set("server", "ssl_cert", "")
+ config.set("server", "ssl_key", "")
+ config.set("server", "environment", "development")
+ config.add_section("logging")
+ config.set("logging", "log_dir", get_default_log_dir())
+ config.set("logging", "log_level", DEFAULT_LOG_LEVEL)
+
+ if os.path.exists(CONFIG_FILE):
+ config.read(CONFIG_FILE)
+ return config
+
+
+CONFIG_FILE = "%s/kimchi.conf" % get_config_dir()
+DEFAULT_LOG_LEVEL = "debug"
+config = _get_config()
+
We don't have a explicit rule for constants and I also don't know if
there is one in PEP 8.
But usually we put the constants in the begging of the file (after
imports section).
+
if __name__ == '__main__':
print get_prefix()
diff --git a/src/kimchid.in b/src/kimchid.in
index 7865713..548fa52 100644
--- a/src/kimchid.in
+++ b/src/kimchid.in
@@ -33,31 +33,13 @@ import kimchi.config
if kimchi.config.without_installation():
sys.path.append(kimchi.config.get_prefix())
-from ConfigParser import SafeConfigParser
+from kimchi.config import config
from optparse import OptionParser
ACCESS_LOG = "kimchi-access.log"
ERROR_LOG = "kimchi-error.log"
-CONFIG_FILE = "%s/kimchi.conf" % kimchi.config.get_config_dir()
-DEFAULT_LOG_DIR = kimchi.config.get_default_log_dir()
-DEFAULT_LOG_LEVEL = "debug"
def main(options):
- config = SafeConfigParser()
- config.add_section("server")
- config.set("server", "host", "0.0.0.0")
- config.set("server", "port", "8000")
- config.set("server", "ssl_port", "8001")
- config.set("server", "ssl_cert", "")
- config.set("server", "ssl_key", "")
- config.set("server", "environment", "development")
- config.add_section("logging")
- config.set("logging", "log_dir", DEFAULT_LOG_DIR)
- config.set("logging", "log_level", DEFAULT_LOG_LEVEL)
-
- if os.path.exists(CONFIG_FILE):
- config.read(CONFIG_FILE)
-
host = config.get("server", "host")
port = config.get("server", "port")
ssl_port = config.get("server", "ssl_port")