jdahlin - in flumotion/trunk: . flumotion/admin/rrdmon

flumotion-commit at lists.fluendo.com flumotion-commit at lists.fluendo.com
Thu Dec 27 18:29:36 CET 2007


Author: jdahlin
Date: Thu Dec 27 18:29:07 2007
New Revision: 6044

Modified:
   flumotion/trunk/ChangeLog
   flumotion/trunk/flumotion/admin/rrdmon/config.py
Log:
2007-12-27  Johan Dahlin  <johan at gnome.org>

	* flumotion/admin/rrdmon/config.py (ConfigParser): use fxml.Parser
	instead of common.BaseConfigParser



Modified: flumotion/trunk/ChangeLog
==============================================================================
--- flumotion/trunk/ChangeLog	(original)
+++ flumotion/trunk/ChangeLog	Thu Dec 27 18:29:07 2007
@@ -1,5 +1,8 @@
 2007-12-27  Johan Dahlin  <johan at gnome.org>
 
+	* flumotion/admin/rrdmon/config.py (ConfigParser): use fxml.Parser
+	instead of common.BaseConfigParser
+
 	* flumotion/common/bundle.py (MergedBundler.getSubBundlers): Move
 	makeBundleFromLoadedModules from bundle to registry
 

Modified: flumotion/trunk/flumotion/admin/rrdmon/config.py
==============================================================================
--- flumotion/trunk/flumotion/admin/rrdmon/config.py	(original)
+++ flumotion/trunk/flumotion/admin/rrdmon/config.py	Thu Dec 27 18:29:07 2007
@@ -23,8 +23,9 @@
 
 import os
 
-from flumotion.common import common, config, connection
+from flumotion.common import common, connection
 from flumotion.common.errors import ConfigError
+from flumotion.common.fxml import Parser
 
 
 """
@@ -86,7 +87,7 @@
 """
 
 
-class ConfigParser(config.BaseConfigParser):
+class ConfigParser(Parser):
     """
     RRD monitor configuration file parser.
 
@@ -94,6 +95,7 @@
     __init__. Parse into a dict of properly-typed options by calling
     parse() on the parser.
     """
+    parserError = ConfigError
     logCategory = 'rrdmon-config'
 
     def __init__(self, file):
@@ -101,7 +103,7 @@
         @param file: The path to the config file to parse, or a file object
         @type  file: str or file
         """
-        config.BaseConfigParser.__init__(self, file)
+        self.doc = self.getRoot(file)
 
     def _parseArchive(self, node):
         def strparser(parser):
@@ -125,7 +127,7 @@
 
         for k, required, parser, default in basicOptions:
             if required and k not in res:
-                raise config.ConfigError('missing required node %s' % k)
+                raise ConfigError('missing required node %s' % k)
         return res
 
     def _parseSource(self, node):
@@ -139,7 +141,7 @@
             return setter
         def filename(v):
             if v[0] != os.sep:
-                raise config.ConfigError('rrdfile paths should be absolute')
+                raise ConfigError('rrdfile paths should be absolute')
             return str(v)
 
         name, = self.parseAttributes(node, ('name',))
@@ -167,9 +169,9 @@
 
         for k, required, parser, default in basicOptions:
             if required and k not in res:
-                raise config.ConfigError('missing required node %s' % k)
+                raise ConfigError('missing required node %s' % k)
         if not res['archives']:
-            raise config.ConfigError('must specify at least one '
+            raise ConfigError('must specify at least one '
                                      '<archive> per <source>')
 
         return res
@@ -177,6 +179,7 @@
     def parse(self):
         # <rrdmon>
         #   <propName>propValue</propName>
+
         root = self.doc.documentElement
         if not root.nodeName == 'rrdmon':
             raise ConfigError("unexpected root node: %s" % root.nodeName)
@@ -198,7 +201,6 @@
         self.parseFromTable(root, table)
 
         if not res['sources']:
-            raise config.ConfigError('must specify at least one '
-                                     '<source>')
+            raise ConfigError('must specify at least one <source>')
 
         return res


More information about the flumotion-commit mailing list