Re: [edk2] [Patch v1 2/5] BaseTools/Workspace/InfBuildData: move functions
Reviewed-by: Bob Feng -Original Message- From: Carsey, Jaben Sent: Friday, January 11, 2019 2:40 AM To: edk2-devel@lists.01.org Cc: Feng, Bob C ; Gao, Liming Subject: [Patch v1 2/5] BaseTools/Workspace/InfBuildData: move functions Move ProtocolValue and PpiValue from Common.Misc to this file. There were no other consumers of these 2 functions. Cc: Bob Feng Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey --- BaseTools/Source/Python/Common/Misc.py| 38 BaseTools/Source/Python/Workspace/InfBuildData.py | 46 ++-- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py index 43e016febcbb..25d8f9807fa3 100644 --- a/BaseTools/Source/Python/Common/Misc.py +++ b/BaseTools/Source/Python/Common/Misc.py @@ -611,44 +611,6 @@ def GuidValue(CName, PackageList, Inffile = None): return P.Guids[CName] return None -## Get Protocol value from given packages -# -# @param CName The CName of the GUID -# @param PackageList List of packages looking-up in -# @param Inffile The driver file -# -# @retval GuidValue if the CName is found in any given package -# @retval Noneif the CName is not found in all given packages -# -def ProtocolValue(CName, PackageList, Inffile = None): -for P in PackageList: -ProtocolKeys = P.Protocols.keys() -if Inffile and P._PrivateProtocols: -if not Inffile.startswith(P.MetaFile.Dir): -ProtocolKeys = [x for x in P.Protocols if x not in P._PrivateProtocols] -if CName in ProtocolKeys: -return P.Protocols[CName] -return None - -## Get PPI value from given packages -# -# @param CName The CName of the GUID -# @param PackageList List of packages looking-up in -# @param Inffile The driver file -# -# @retval GuidValue if the CName is found in any given package -# @retval Noneif the CName is not found in all given packages -# -def PpiValue(CName, PackageList, Inffile = None): -for P in PackageList: -PpiKeys = P.Ppis.keys() -if Inffile and P._PrivatePpis: -if not Inffile.startswith(P.MetaFile.Dir): -PpiKeys = [x for x in P.Ppis if x not in P._PrivatePpis] -if CName in PpiKeys: -return P.Ppis[CName] -return None - ## A string template class # # This class implements a template for string replacement. A string template diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/Source/Python/Workspace/InfBuildData.py index 99bbecfd1f87..351f596d76b4 100644 --- a/BaseTools/Source/Python/Workspace/InfBuildData.py +++ b/BaseTools/Source/Python/Workspace/InfBuildData.py @@ -21,6 +21,44 @@ from .MetaFileParser import * from collections import OrderedDict from Workspace.BuildClassObject import ModuleBuildClassObject, LibraryClassObject, PcdClassObject +## Get Protocol value from given packages # +# @param CName The CName of the GUID +# @param PackageList List of packages looking-up in +# @param Inffile The driver file +# +# @retval GuidValue if the CName is found in any given package +# @retval Noneif the CName is not found in all given packages +# +def _ProtocolValue(CName, PackageList, Inffile = None): +for P in PackageList: +ProtocolKeys = P.Protocols.keys() +if Inffile and P._PrivateProtocols: +if not Inffile.startswith(P.MetaFile.Dir): +ProtocolKeys = [x for x in P.Protocols if x not in P._PrivateProtocols] +if CName in ProtocolKeys: +return P.Protocols[CName] +return None + +## Get PPI value from given packages +# +# @param CName The CName of the GUID +# @param PackageList List of packages looking-up in +# @param Inffile The driver file +# +# @retval GuidValue if the CName is found in any given package +# @retval Noneif the CName is not found in all given packages +# +def _PpiValue(CName, PackageList, Inffile = None): +for P in PackageList: +PpiKeys = P.Ppis.keys() +if Inffile and P._PrivatePpis: +if not Inffile.startswith(P.MetaFile.Dir): +PpiKeys = [x for x in P.Ppis if x not in P._PrivatePpis] +if CName in PpiKeys: +return P.Ppis[CName] +return None + ## Module build information from INF file # # This class is used to retrieve information stored in database and convert them @@ -645,7 +683,7 @@ class InfBuildData(ModuleBuildClassObject): RecordList = self._RawData[MODEL_EFI_PROTOCOL, self._Arch, self._Platform] for Record in RecordList: CName = Record[0] -Value =
[edk2] [Patch v1 2/5] BaseTools/Workspace/InfBuildData: move functions
Move ProtocolValue and PpiValue from Common.Misc to this file. There were no other consumers of these 2 functions. Cc: Bob Feng Cc: Liming Gao Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey --- BaseTools/Source/Python/Common/Misc.py| 38 BaseTools/Source/Python/Workspace/InfBuildData.py | 46 ++-- 2 files changed, 42 insertions(+), 42 deletions(-) diff --git a/BaseTools/Source/Python/Common/Misc.py b/BaseTools/Source/Python/Common/Misc.py index 43e016febcbb..25d8f9807fa3 100644 --- a/BaseTools/Source/Python/Common/Misc.py +++ b/BaseTools/Source/Python/Common/Misc.py @@ -611,44 +611,6 @@ def GuidValue(CName, PackageList, Inffile = None): return P.Guids[CName] return None -## Get Protocol value from given packages -# -# @param CName The CName of the GUID -# @param PackageList List of packages looking-up in -# @param Inffile The driver file -# -# @retval GuidValue if the CName is found in any given package -# @retval Noneif the CName is not found in all given packages -# -def ProtocolValue(CName, PackageList, Inffile = None): -for P in PackageList: -ProtocolKeys = P.Protocols.keys() -if Inffile and P._PrivateProtocols: -if not Inffile.startswith(P.MetaFile.Dir): -ProtocolKeys = [x for x in P.Protocols if x not in P._PrivateProtocols] -if CName in ProtocolKeys: -return P.Protocols[CName] -return None - -## Get PPI value from given packages -# -# @param CName The CName of the GUID -# @param PackageList List of packages looking-up in -# @param Inffile The driver file -# -# @retval GuidValue if the CName is found in any given package -# @retval Noneif the CName is not found in all given packages -# -def PpiValue(CName, PackageList, Inffile = None): -for P in PackageList: -PpiKeys = P.Ppis.keys() -if Inffile and P._PrivatePpis: -if not Inffile.startswith(P.MetaFile.Dir): -PpiKeys = [x for x in P.Ppis if x not in P._PrivatePpis] -if CName in PpiKeys: -return P.Ppis[CName] -return None - ## A string template class # # This class implements a template for string replacement. A string template diff --git a/BaseTools/Source/Python/Workspace/InfBuildData.py b/BaseTools/Source/Python/Workspace/InfBuildData.py index 99bbecfd1f87..351f596d76b4 100644 --- a/BaseTools/Source/Python/Workspace/InfBuildData.py +++ b/BaseTools/Source/Python/Workspace/InfBuildData.py @@ -21,6 +21,44 @@ from .MetaFileParser import * from collections import OrderedDict from Workspace.BuildClassObject import ModuleBuildClassObject, LibraryClassObject, PcdClassObject +## Get Protocol value from given packages +# +# @param CName The CName of the GUID +# @param PackageList List of packages looking-up in +# @param Inffile The driver file +# +# @retval GuidValue if the CName is found in any given package +# @retval Noneif the CName is not found in all given packages +# +def _ProtocolValue(CName, PackageList, Inffile = None): +for P in PackageList: +ProtocolKeys = P.Protocols.keys() +if Inffile and P._PrivateProtocols: +if not Inffile.startswith(P.MetaFile.Dir): +ProtocolKeys = [x for x in P.Protocols if x not in P._PrivateProtocols] +if CName in ProtocolKeys: +return P.Protocols[CName] +return None + +## Get PPI value from given packages +# +# @param CName The CName of the GUID +# @param PackageList List of packages looking-up in +# @param Inffile The driver file +# +# @retval GuidValue if the CName is found in any given package +# @retval Noneif the CName is not found in all given packages +# +def _PpiValue(CName, PackageList, Inffile = None): +for P in PackageList: +PpiKeys = P.Ppis.keys() +if Inffile and P._PrivatePpis: +if not Inffile.startswith(P.MetaFile.Dir): +PpiKeys = [x for x in P.Ppis if x not in P._PrivatePpis] +if CName in PpiKeys: +return P.Ppis[CName] +return None + ## Module build information from INF file # # This class is used to retrieve information stored in database and convert them @@ -645,7 +683,7 @@ class InfBuildData(ModuleBuildClassObject): RecordList = self._RawData[MODEL_EFI_PROTOCOL, self._Arch, self._Platform] for Record in RecordList: CName = Record[0] -Value = ProtocolValue(CName, self.Packages, self.MetaFile.Path) +Value = _ProtocolValue(CName, self.Packages, self.MetaFile.Path) if Value is None: PackageList = "\n\t".join(str(P) for P in self.Packages)