diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2009-01-21 16:56:30 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2009-01-21 16:56:30 +0000 |
commit | a9117a61c0fc1d7341c5276dcdb775eb55818594 (patch) | |
tree | 4ea67c3812af7f6663c1ef180d472869d57ad95f /src/lib/Server/Plugins/Properties.py | |
parent | f0fdd4a902717c7bfbdd5a636f771fb605cc5f4f (diff) | |
download | bcfg2-a9117a61c0fc1d7341c5276dcdb775eb55818594.tar.gz bcfg2-a9117a61c0fc1d7341c5276dcdb775eb55818594.tar.bz2 bcfg2-a9117a61c0fc1d7341c5276dcdb775eb55818594.zip |
Move properties to the connector interface
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5034 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Plugins/Properties.py')
-rw-r--r-- | src/lib/Server/Plugins/Properties.py | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/lib/Server/Plugins/Properties.py b/src/lib/Server/Plugins/Properties.py new file mode 100644 index 000000000..61e80bfe3 --- /dev/null +++ b/src/lib/Server/Plugins/Properties.py @@ -0,0 +1,30 @@ +import copy, lxml.etree +import Bcfg2.Server.Plugin + +class Properties(Bcfg2.Server.Plugin.XMLFileBacked): + '''Class for properties files''' + def Index(self): + '''Build data into an xml object''' + try: + self.data = lxml.etree.XML(self.data) + except lxml.etree.XMLSyntaxError: + logger.error("Failed to parse %s" % self.name) + +class PropDirectoryBacked(Bcfg2.Server.Plugin.DirectoryBacked): + __child__ = Properties + +class Properties(Bcfg2.Server.Plugin.Plugin, + Bcfg2.Server.Plugin.Connector): + '''The properties plugin maps property files into client metadata instances''' + name = 'Properties' + version = '$Revision: $' + experimental = True + + + def __init__(self, core, datastore): + Bcfg2.Server.Plugin.Plugin.__init__(self, core, datastore) + Bcfg2.Server.Plugin.Connector.__init__(self) + self.store = PropDirectoryBacked(self.data, core.fam) + + def get_additional_metadata(self, _): + return ((), copy.deepcopy(self.store.entries)) |