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/Source.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/Source.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Source.py | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py index 985405e65..40c1f6676 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py @@ -92,7 +92,8 @@ class SourceInitError(Exception): REPO_RE = re.compile(r'(?:pulp/repos/|/RPMS\.|/)([^/]+)/?$') -class Source(Bcfg2.Server.Plugin.Debuggable): # pylint: disable=R0902 +class Source(Bcfg2.Server.Plugin.Debuggable, # pylint: disable=R0902 + Bcfg2.Server.Plugin.DeepcopyMixin): """ ``Source`` objects represent a single <Source> tag in ``sources.xml``. Note that a single Source tag can itself describe multiple repositories (if it uses the "url" attribute @@ -128,6 +129,7 @@ class Source(Bcfg2.Server.Plugin.Debuggable): # pylint: disable=R0902 :raises: :class:`Bcfg2.Server.Plugins.Packages.Source.SourceInitError` """ Bcfg2.Server.Plugin.Debuggable.__init__(self) + Bcfg2.Server.Plugin.DeepcopyMixin.__init__(self) #: The base filesystem path under which cache data for this #: source should be stored @@ -738,3 +740,6 @@ class Source(Bcfg2.Server.Plugin.Debuggable): # pylint: disable=R0902 if group in metadata.groups: return True return False + + def _deepcopy_constructor_args(self): + return (self.basepath, self.xsource, dict(self.setup)) |