mirror of
https://github.com/Pardus-LiderAhenk/ahenk
synced 2024-11-14 06:12:19 +03:00
ahenk base configuration impl
This commit is contained in:
parent
662e787b7a
commit
306334ddc9
3 changed files with 41 additions and 0 deletions
0
opt/ahenk/base/__init__.py
Normal file
0
opt/ahenk/base/__init__.py
Normal file
41
opt/ahenk/base/config/ConfigManager.py
Normal file
41
opt/ahenk/base/config/ConfigManager.py
Normal file
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# Author: İsmail BAŞARAN <ismail.basaran@tubitak.gov.tr> <basaran.ismaill@gmail.com>
|
||||
|
||||
import ConfigParser,os
|
||||
from os import listdir
|
||||
from os.path import isfile, join
|
||||
from ConfigParser import SafeConfigParser
|
||||
|
||||
class ConfigManager(object):
|
||||
"""
|
||||
This class written for configuration file management of ahenk and ahenk plugins
|
||||
Sample ahenk configuration file path /etc/ahenk/ahenk.conf and sample ahenk plugins configuration folder path /etc/ahenk/config.d/
|
||||
Usage: Takes two argument, - both of them are optional - one of the is a configuration file path the other one
|
||||
is configuration files folder path
|
||||
"""
|
||||
def __init__(self, configurationFilePath=None, configurationFolderPath=None):
|
||||
super(ConfigManager, self).__init__()
|
||||
self.configurationFilePath = configurationFilePath
|
||||
self.configurationFolderPath = configurationFolderPath
|
||||
|
||||
|
||||
def read(self):
|
||||
configFiles = []
|
||||
|
||||
# Check if given ahenk configuration file exists
|
||||
# If file exists add it to configFiles array.
|
||||
# TODO must write config file validater !!
|
||||
if self.configurationFilePath:
|
||||
if os.path.exists(self.configurationFilePath):
|
||||
configFiles.append(self.configurationFilePath)
|
||||
|
||||
if self.configurationFolderPath and os.path.exists(self.configurationFolderPath):
|
||||
files = [f for f in listdir(self.configurationFolderPath) if isfile(join(self.configurationFolderPath, f))]
|
||||
for f in files:
|
||||
configFiles.append(join(self.configurationFolderPath, f))
|
||||
|
||||
parser = SafeConfigParser()
|
||||
configValues = parser.read(configFiles)
|
||||
|
||||
return parser
|
0
opt/ahenk/base/config/__init__.py
Normal file
0
opt/ahenk/base/config/__init__.py
Normal file
Loading…
Reference in a new issue