summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Admin/__init__.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2007-12-31 11:21:10 +0000
committerNarayan Desai <desai@mcs.anl.gov>2007-12-31 11:21:10 +0000
commitef5051726a3aa1f0192bd8d99c5c5b1ee9f067af (patch)
tree57bf0854d95c18cced379921657f746ad5faab04 /src/lib/Server/Admin/__init__.py
parent104a1e27cee2d5524460d26c83d3e920cd88b2e9 (diff)
downloadbcfg2-ef5051726a3aa1f0192bd8d99c5c5b1ee9f067af.tar.gz
bcfg2-ef5051726a3aa1f0192bd8d99c5c5b1ee9f067af.tar.bz2
bcfg2-ef5051726a3aa1f0192bd8d99c5c5b1ee9f067af.zip
Switch over to more Options usage and complete tests (everything appears to work now)
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4142 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Admin/__init__.py')
-rw-r--r--src/lib/Server/Admin/__init__.py25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/lib/Server/Admin/__init__.py b/src/lib/Server/Admin/__init__.py
index dcab5876f..57b9d2a86 100644
--- a/src/lib/Server/Admin/__init__.py
+++ b/src/lib/Server/Admin/__init__.py
@@ -4,27 +4,40 @@ __all__ = ['Mode', 'Client', 'Compare', 'Fingerprint', 'Init', 'Minestruct',
'Pull', 'Tidy', 'Viz']
import ConfigParser, lxml.etree, logging
-from Bcfg2.Settings import settings
class Mode(object):
'''Help message has not yet been added for mode'''
__shorthelp__ = 'Shorthelp not defined yet'
__longhelp__ = 'Longhelp not defined yet'
__args__ = []
-
- def __init__(self):
+ def __init__(self, configfile):
+ self.configfile = configfile
+ self.__cfp = False
self.log = logging.getLogger('Bcfg2.Server.Admin.Mode')
- self.repo_path = settings.SERVER_REPOSITORY
+
+ def getCFP(self):
+ if not self.__cfp:
+ self.__cfp = ConfigParser.ConfigParser()
+ self.__cfp.read(self.configfile)
+ return self.__cfp
+
+ cfp = property(getCFP)
def __call__(self, args):
- return
+ if args[0] == 'help':
+ print self.__longhelp__
+ raise SystemExit(0)
def errExit(self, emsg):
print emsg
raise SystemExit(1)
+ def get_repo_path(self):
+ '''return repository path'''
+ return self.cfp.get('server', 'repository')
+
def load_stats(self, client):
- stats = lxml.etree.parse("%s/etc/statistics.xml" % (self.repo_path))
+ stats = lxml.etree.parse("%s/etc/statistics.xml" % (self.get_repo_path()))
hostent = stats.xpath('//Node[@name="%s"]' % client)
if not hostent:
self.errExit("Could not find stats for client %s" % (client))