diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2012-11-01 00:06:17 +0100 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-06-29 16:28:45 +0200 |
commit | 05ac482e5906e62bb94e159e46270e21cd8c9a2a (patch) | |
tree | a5ea6539f6b7b126fb0175592230a1164737c3e1 /src/lib/Bcfg2/Server/Plugins/Packages | |
parent | ed2bac220427d278d80eaa8de2e83de2bcab7bce (diff) | |
download | bcfg2-05ac482e5906e62bb94e159e46270e21cd8c9a2a.tar.gz bcfg2-05ac482e5906e62bb94e159e46270e21cd8c9a2a.tar.bz2 bcfg2-05ac482e5906e62bb94e159e46270e21cd8c9a2a.zip |
Packages: add priority to sources and sort according to it
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugins/Packages')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py | 1 | ||||
-rw-r--r-- | src/lib/Bcfg2/Server/Plugins/Packages/Source.py | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py b/src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py index 332f0bbab..e627275c0 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/PackagesSources.py @@ -115,6 +115,7 @@ class PackagesSources(Bcfg2.Server.Plugin.StructFile, source = self.source_from_xml(xsource) if source is not None: self.entries.append(source) + sorted(self.entries, key=(lambda source: source.priority), reverse=True) Index.__doc__ = Bcfg2.Server.Plugin.StructFile.Index.__doc__ + """ ``Index`` is responsible for calling :func:`source_from_xml` diff --git a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py index 55d12c400..01f2a732f 100644 --- a/src/lib/Bcfg2/Server/Plugins/Packages/Source.py +++ b/src/lib/Bcfg2/Server/Plugins/Packages/Source.py @@ -209,6 +209,9 @@ class Source(Bcfg2.Server.Plugin.Debuggable): # pylint: disable=R0902 #: The "version" attribute from :attr:`xsource` self.version = xsource.get('version', '') + #: The "priority" attribute from :attr:`xsource` + self.priority = xsource.get('priority', 500) + #: A list of predicates that are used to determine if this #: source applies to a given #: :class:`Bcfg2.Server.Plugins.Metadata.ClientMetadata` |