summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/FileMonitor
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-01-17 11:01:41 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-01-17 11:01:41 -0500
commit1a6ad2805f5b12ed111f7a3a6adb127f2cbcef8e (patch)
tree79969899df5d00781779b27041eb0a50cb90e3d1 /src/lib/Bcfg2/Server/FileMonitor
parent09e6b3eac584c0e3558c062610da1824bb5eb9b2 (diff)
downloadbcfg2-1a6ad2805f5b12ed111f7a3a6adb127f2cbcef8e.tar.gz
bcfg2-1a6ad2805f5b12ed111f7a3a6adb127f2cbcef8e.tar.bz2
bcfg2-1a6ad2805f5b12ed111f7a3a6adb127f2cbcef8e.zip
FAM: split loading a new FileMonitor from fetching an existing one
Diffstat (limited to 'src/lib/Bcfg2/Server/FileMonitor')
-rw-r--r--src/lib/Bcfg2/Server/FileMonitor/__init__.py22
1 files changed, 18 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Server/FileMonitor/__init__.py b/src/lib/Bcfg2/Server/FileMonitor/__init__.py
index 37a2a8763..d77f21b93 100644
--- a/src/lib/Bcfg2/Server/FileMonitor/__init__.py
+++ b/src/lib/Bcfg2/Server/FileMonitor/__init__.py
@@ -315,10 +315,11 @@ class FileMonitor(Debuggable):
#: should not be used directly, but retrieved via :func:`get_fam`.
_FAM = None
-def get_fam(filemonitor='default', ignore=None, debug=False):
- """ Get a filemonitor object. If :attr:`_FAM` already exists,
- that will be used; if not, a new filemonitor object will be
- created.
+
+def load_fam(filemonitor='default', ignore=None, debug=False):
+ """ Load a new :class:`Bcfg2.Server.FileMonitor.FileMonitor`
+ object, caching it in :attr:`_FAM` for later retrieval via
+ :func:`get_fam`.
:param filemonitor: Which filemonitor backend to use
:type filemonitor: string
@@ -336,6 +337,19 @@ def get_fam(filemonitor='default', ignore=None, debug=False):
return _FAM
+def get_fam():
+ """ Get an already-created
+ :class:`Bcfg2.Server.FileMonitor.FileMonitor` object. If
+ :attr:`_FAM` has not been populated, then a new default
+ FileMonitor will be created.
+
+ :returns: :class:`Bcfg2.Server.FileMonitor.FileMonitor`
+ """
+ if _FAM is None:
+ return load_fam('default')
+ return _FAM
+
+
#: A dict of all available FAM backends. Keys are the human-readable
#: names of the backends, which are used in bcfg2.conf to select a
#: backend; values are the backend classes. In addition, the