BaseTools/Common/Misc: Cleanup the imports

Refactor to 'dict' from 'IterableUserDict' which was only required for old
    python interpreter.
Sort imports according to PEP8
Remove those we dont need.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
Carsey, Jaben
2019-01-25 00:14:20 +08:00
committed by Feng, Bob C
parent fe5ff16128
commit 3aaacb2daf

View File

@ -15,7 +15,7 @@
# Import Modules # Import Modules
# #
from __future__ import absolute_import from __future__ import absolute_import
import Common.LongFilePathOs as os
import sys import sys
import string import string
import threading import threading
@ -26,22 +26,22 @@ import array
import shutil import shutil
from random import sample from random import sample
from struct import pack from struct import pack
from UserDict import IterableUserDict
from UserList import UserList
from Common import EdkLogger as EdkLogger
from Common import GlobalData as GlobalData
from .DataType import *
from .BuildToolError import *
from CommonDataClass.DataClass import *
from .Parsing import GetSplitValueList
from Common.LongFilePathSupport import OpenLongFilePath as open
from Common.MultipleWorkspace import MultipleWorkspace as mws
import uuid import uuid
from CommonDataClass.Exceptions import BadExpression
from Common.caching import cached_property
import subprocess import subprocess
from collections import OrderedDict from collections import OrderedDict
import Common.LongFilePathOs as os
from Common import EdkLogger as EdkLogger
from Common import GlobalData as GlobalData
from Common.DataType import *
from Common.BuildToolError import *
from CommonDataClass.DataClass import *
from Common.Parsing import GetSplitValueList
from Common.LongFilePathSupport import OpenLongFilePath as open
from Common.MultipleWorkspace import MultipleWorkspace as mws
from CommonDataClass.Exceptions import BadExpression
from Common.caching import cached_property
## Regular expression used to find out place holders in string template ## Regular expression used to find out place holders in string template
gPlaceholderPattern = re.compile("\$\{([^$()\s]+)\}", re.MULTILINE | re.UNICODE) gPlaceholderPattern = re.compile("\$\{([^$()\s]+)\}", re.MULTILINE | re.UNICODE)
@ -831,22 +831,22 @@ class Progressor:
# accessed in the order they are added into the dict. It guarantees the order # accessed in the order they are added into the dict. It guarantees the order
# by making use of an internal list to keep a copy of keys. # by making use of an internal list to keep a copy of keys.
# #
class sdict(IterableUserDict): class sdict(dict):
## Constructor ## Constructor
def __init__(self): def __init__(self):
IterableUserDict.__init__(self) dict.__init__(self)
self._key_list = [] self._key_list = []
## [] operator ## [] operator
def __setitem__(self, key, value): def __setitem__(self, key, value):
if key not in self._key_list: if key not in self._key_list:
self._key_list.append(key) self._key_list.append(key)
IterableUserDict.__setitem__(self, key, value) dict.__setitem__(self, key, value)
## del operator ## del operator
def __delitem__(self, key): def __delitem__(self, key):
self._key_list.remove(key) self._key_list.remove(key)
IterableUserDict.__delitem__(self, key) dict.__delitem__(self, key)
## used in "for k in dict" loop to ensure the correct order ## used in "for k in dict" loop to ensure the correct order
def __iter__(self): def __iter__(self):
@ -869,17 +869,17 @@ class sdict(IterableUserDict):
index = self._key_list.index(key) index = self._key_list.index(key)
if order == 'BEFORE': if order == 'BEFORE':
self._key_list.insert(index, newkey) self._key_list.insert(index, newkey)
IterableUserDict.__setitem__(self, newkey, newvalue) dict.__setitem__(self, newkey, newvalue)
elif order == 'AFTER': elif order == 'AFTER':
self._key_list.insert(index + 1, newkey) self._key_list.insert(index + 1, newkey)
IterableUserDict.__setitem__(self, newkey, newvalue) dict.__setitem__(self, newkey, newvalue)
## append support ## append support
def append(self, sdict): def append(self, sdict):
for key in sdict: for key in sdict:
if key not in self._key_list: if key not in self._key_list:
self._key_list.append(key) self._key_list.append(key)
IterableUserDict.__setitem__(self, key, sdict[key]) dict.__setitem__(self, key, sdict[key])
def has_key(self, key): def has_key(self, key):
return key in self._key_list return key in self._key_list
@ -887,7 +887,7 @@ class sdict(IterableUserDict):
## Empty the dict ## Empty the dict
def clear(self): def clear(self):
self._key_list = [] self._key_list = []
IterableUserDict.clear(self) dict.clear(self)
## Return a copy of keys ## Return a copy of keys
def keys(self): def keys(self):