diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-25 11:19:11 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-03-25 11:19:11 -0400 |
commit | 432f448983ff27452d82d62314d91c942f31bce5 (patch) | |
tree | f7f0aeb5f20e928306a37407857afe822713f5cb /src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | |
parent | fe7a3e9c7a7d66cccbd825465cefcf88165a0c3a (diff) | |
download | bcfg2-432f448983ff27452d82d62314d91c942f31bce5.tar.gz bcfg2-432f448983ff27452d82d62314d91c942f31bce5.tar.bz2 bcfg2-432f448983ff27452d82d62314d91c942f31bce5.zip |
Packages: properly implemented deepcopy() for PackagesSources objects
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages/__init__.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/__init__.py | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py index 308a0efc4..cc78497f1 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/__init__.py @@ -185,6 +185,14 @@ class Packages(Bcfg2.Server.Plugin.Plugin, for (key, value) in list(attrib.items()): entry.attrib.__setitem__(key, value) + def get_config(self, metadata): + """ Get yum/apt config, as a string, for the specified client. + + :param metadata: The client to create the config for. + :type metadata: Bcfg2.Server.Plugins.Metadata.ClientMetadata + """ + return self.get_collection(metadata).get_config() + def HandleEntry(self, entry, metadata): """ Bind configuration entries. ``HandleEntry`` handles entries two different ways: @@ -538,7 +546,8 @@ class Packages(Bcfg2.Server.Plugin.Plugin, """ collection = self.get_collection(metadata) return dict(sources=collection.get_additional_data(), - allsources=copy.deepcopy(self.sources)) + allsources=copy.deepcopy(self.sources), + get_config=self.get_config) def end_client_run(self, metadata): """ Hook to clear the cache for this client in |