diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-05-04 10:56:29 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2012-05-04 10:56:29 -0400 |
commit | a0fa9103721e6c165902d5db2e9b7b6cc2c30d5a (patch) | |
tree | 42578de756f166c1d23bcc4fccba5b9e716914b0 /src/lib/Bcfg2/Server/Plugin.py | |
parent | d1877090ad7c971140fcc25e3490e307fe8f7a49 (diff) | |
download | bcfg2-a0fa9103721e6c165902d5db2e9b7b6cc2c30d5a.tar.gz bcfg2-a0fa9103721e6c165902d5db2e9b7b6cc2c30d5a.tar.bz2 bcfg2-a0fa9103721e6c165902d5db2e9b7b6cc2c30d5a.zip |
better support for re-reading packages.conf (and SimpleConfigs in general)
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugin.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugin.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/Bcfg2/Server/Plugin.py b/src/lib/Bcfg2/Server/Plugin.py index 11e6c5c20..41314bbea 100644 --- a/src/lib/Bcfg2/Server/Plugin.py +++ b/src/lib/Bcfg2/Server/Plugin.py @@ -4,7 +4,6 @@ import copy import logging import lxml.etree import os -import os.path import pickle import posixpath import re @@ -1202,6 +1201,7 @@ class SimpleConfig(FileBacked, filename = os.path.join(plugin.data, plugin.name.lower() + ".conf") self.plugin = plugin self.fam = self.plugin.core.fam + self.read_files = set() Bcfg2.Server.Plugin.FileBacked.__init__(self, filename) ConfigParser.SafeConfigParser.__init__(self) @@ -1213,7 +1213,7 @@ class SimpleConfig(FileBacked, """ Build local data structures """ for section in self.sections(): self.remove_section(section) - self.read(self.name) + self.read_files.update(self.read(self.name)) def get(self, section, option, **kwargs): """ convenience method for getting config items """ @@ -1245,3 +1245,11 @@ class SimpleConfig(FileBacked, return default else: raise + + @property + def loaded(self): + if os.path.exists(self.name): + return self.name in self.read_files + else: + return True + |