The sdict() was originally defined as common/Misc.py and UPT/library/Misc.py.

However, the sdict() defined previously in common/Misc.py has been removed.

It is not as good as the OrderedDict() when running in Python3.


Any question, please let me know. Thanks.

Best Regards
Fan Zhiju



-----Original Message-----
From: Carsey, Jaben 
Sent: Thursday, February 14, 2019 11:31 PM
To: Fan, ZhijuX <zhijux....@intel.com>; edk2-devel@lists.01.org
Cc: Gao, Liming <liming....@intel.com>
Subject: RE: [PATCH] BaseTools:Function application error

I am really confused by this patch and how it ever worked.

I see that you remove the import for sdict.  But I see that sdict is used in 
other places in that file.

I also cant find a class definition for sdict anywhere (certainly not in 
Common/Misc).

So maybe refactor and remove all the other uses of sdict from the file?

-Jaben

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of 
> Fan, ZhijuX
> Sent: Thursday, February 14, 2019 1:12 AM
> To: edk2-devel@lists.01.org
> Cc: Gao, Liming <liming....@intel.com>
> Subject: [edk2] [PATCH] BaseTools:Function application error
> 
> Error due to incorrect function parameters and attributes
> FileWrite() The first argument it needs is a list, not a file This 
> patch abandons this function and saves the file independently
> 
> Cc: Bob Feng <bob.c.f...@intel.com>
> Cc: Liming Gao <liming....@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Zhiju.Fan <zhijux....@intel.com>
> ---
>  BaseTools/Source/Python/Eot/EotMain.py                | 5 +++--
>  BaseTools/Source/Python/Workspace/BuildClassObject.py | 1 +
>  BaseTools/Source/Python/build/BuildReport.py          | 9 ++++++---
>  3 files changed, 10 insertions(+), 5 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/Eot/EotMain.py
> b/BaseTools/Source/Python/Eot/EotMain.py
> index fd4bee6f90..8c2bfc45e4 100644
> --- a/BaseTools/Source/Python/Eot/EotMain.py
> +++ b/BaseTools/Source/Python/Eot/EotMain.py
> @@ -21,7 +21,7 @@ import Eot.EotGlobalData as EotGlobalData  from 
> optparse import OptionParser  from Common.StringUtils import NormPath  
> from Common import BuildToolError -from Common.Misc import 
> GuidStructureStringToGuidString, sdict
> +from Common.Misc import GuidStructureStringToGuidString
>  from Eot.Parser import *
>  from Eot.InfParserLite import EdkInfParser  from Common.StringUtils 
> import GetSplitValueList @@ -32,6 +32,7 @@ from Eot.Report import 
> Report  from Common.BuildVersion import gBUILD_VERSION  from 
> Eot.Parser import ConvertGuid  from Common.LongFilePathSupport import 
> OpenLongFilePath as open
> +import collections
>  import struct
>  import uuid
>  import copy
> @@ -57,7 +58,7 @@ class Image(array):
>          self._LEN_ = None
>          self._OFF_ = None
> 
> -        self._SubImages = sdict() # {offset: Image()}
> +        self._SubImages = collections.OrderedDict() # {offset: 
> + Image()}
> 
>          array.__init__(self)
> 
> diff --git a/BaseTools/Source/Python/Workspace/BuildClassObject.py
> b/BaseTools/Source/Python/Workspace/BuildClassObject.py
> index cff77a71ae..6f8a09e87c 100644
> --- a/BaseTools/Source/Python/Workspace/BuildClassObject.py
> +++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py
> @@ -261,6 +261,7 @@ class StructurePcd(PcdClassObject):
>          self.PackageDecs = Packages
>          self.DefaultStoreName = [default_store]
>          self.DefaultValues = OrderedDict()
> +        self.DefaultFromDSC = None
>          self.PcdMode = None
>          self.SkuOverrideValues = OrderedDict()
>          self.StructName = None
> diff --git a/BaseTools/Source/Python/build/BuildReport.py
> b/BaseTools/Source/Python/build/BuildReport.py
> index 0b98d62cb6..70584570a5 100644
> --- a/BaseTools/Source/Python/build/BuildReport.py
> +++ b/BaseTools/Source/Python/build/BuildReport.py
> @@ -1651,14 +1651,17 @@ class PredictionReport(object):
>          SourceList = os.path.join(self._EotDir, "SourceFile.txt")
>          GuidList = os.path.join(self._EotDir, "GuidList.txt")
>          DispatchList = os.path.join(self._EotDir, "Dispatch.txt")
> -
> +        TempList = []
>          TempFile = open(SourceList, "w+")
>          for Item in self._SourceList:
> -            FileWrite(TempFile, Item)
> +            TempList.append(Item + TAB_LINE_BREAK)
> +        TempFile.writelines(TempList)
>          TempFile.close()
> +        TempList = []
>          TempFile = open(GuidList, "w+")
>          for Key in self._GuidMap:
> -            FileWrite(TempFile, "%s %s" % (Key, self._GuidMap[Key]))
> +            TempList.append("%s %s %s" % (Key, self._GuidMap[Key],
> TAB_LINE_BREAK))
> +        TempFile.writelines(TempList)
>          TempFile.close()
> 
>          try:
> --
> 2.14.1.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to