diff options
author | Peter Scheibel <scheibel1@llnl.gov> | 2019-11-01 14:02:08 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-01 14:02:08 -0700 |
commit | 2e029fc2e5fe58a1fb627e4856ab99a2abe17107 (patch) | |
tree | ad6037f295245d5e0c35dcbdabcd09f2ebebd81c /lib | |
parent | 24ec9f0ce39e97e4c74595208340bcfa3ffcdadd (diff) | |
download | spack-2e029fc2e5fe58a1fb627e4856ab99a2abe17107.tar.gz spack-2e029fc2e5fe58a1fb627e4856ab99a2abe17107.tar.bz2 spack-2e029fc2e5fe58a1fb627e4856ab99a2abe17107.tar.xz spack-2e029fc2e5fe58a1fb627e4856ab99a2abe17107.zip |
Bugfix: respect order of mirrors in mirrors.yaml (#13544)
Commands like "spack mirror list" were displaying mirrors in a
different order than what was listed in the corresponding mirrors.yaml
file.
This restores commands to iterate over mirrors in the order that
they appear in the config file.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/spack/spack/mirror.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/spack/spack/mirror.py b/lib/spack/spack/mirror.py index 0c5e2a9cc2..21d34b579e 100644 --- a/lib/spack/spack/mirror.py +++ b/lib/spack/spack/mirror.py @@ -21,6 +21,8 @@ import six import ruamel.yaml.error as yaml_error +from ordereddict_backport import OrderedDict + try: from collections.abc import Mapping except ImportError: @@ -166,7 +168,7 @@ class MirrorCollection(Mapping): """A mapping of mirror names to mirrors.""" def __init__(self, mirrors=None, scope=None): - self._mirrors = dict( + self._mirrors = OrderedDict( (name, Mirror.from_dict(mirror, name)) for name, mirror in ( mirrors.items() if mirrors is not None else @@ -178,6 +180,7 @@ class MirrorCollection(Mapping): def to_yaml(self, stream=None): return syaml.dump(self.to_dict(True), stream) + # TODO: this isn't called anywhere @staticmethod def from_yaml(stream, name=None): try: |