Use collections.OrderedDict when available (python-2.7) and fall back to
authorZac Medico <zmedico@gentoo.org>
Sun, 13 Dec 2009 03:49:09 +0000 (03:49 -0000)
committerZac Medico <zmedico@gentoo.org>
Sun, 13 Dec 2009 03:49:09 +0000 (03:49 -0000)
portage.cache.mappings.OrderedDict for older python. Also, use OrderedDict
inside fetch() so that files are fetched in the order that they appear in
SRC_URI. (trunk r15028)

svn path=/main/branches/2.1.7/; revision=15062

pym/portage/__init__.py
pym/portage/dbapi/porttree.py

index 87f5ec108370d0c47bbb788cab5e8717abf0e7a1..0a6731bb230d5018e8c5bc25bb9154bc9430a80f 100644 (file)
@@ -71,6 +71,7 @@ try:
        import portage.proxy.lazyimport
        import portage.proxy as proxy
        proxy.lazyimport.lazyimport(globals(),
+               'portage.cache.mappings:OrderedDict',
                'portage.checksum',
                'portage.checksum:perform_checksum,perform_md5,prelink_capable',
                'portage.cvstree',
@@ -132,6 +133,13 @@ except ImportError as e:
        sys.stderr.write("    "+str(e)+"\n\n")
        raise
 
+try:
+       from collections import OrderedDict
+except ImportError:
+       # lazy import is above
+       # from portage.cache.mappings import OrderedDict
+       pass
+
 if sys.hexversion >= 0x3000000:
        basestring = str
        long = int
@@ -4531,7 +4539,7 @@ def fetch(myuris, mysettings, listonly=0, fetchonly=0, locks_in_subdir=".locks",
                for myuri in myuris:
                        file_uri_tuples.append((os.path.basename(myuri), myuri))
 
-       filedict={}
+       filedict = OrderedDict()
        primaryuri_indexes={}
        primaryuri_dict = {}
        thirdpartymirror_uris = {}
index df2c65640838f97a00000da64f6d1e9144693c36..825ca821c9cf80cf6560071e8b05279461bc3b4c 100644 (file)
@@ -16,7 +16,6 @@ portage.proxy.lazyimport.lazyimport(globals(),
 )
 
 from portage.cache.cache_errors import CacheError
-from portage.cache.mappings import OrderedDict
 from portage.const import REPO_NAME_LOC
 from portage.data import portage_gid, secpass
 from portage.dbapi import dbapi
@@ -32,6 +31,7 @@ from portage import os
 from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
+from portage import OrderedDict
 
 import os as _os
 import codecs