[edk2-devel] [PATCH] Platform/Intel:Change the way of getting the env file content

Liming Gao liming.gao at intel.com
Tue Jul 2 13:27:14 UTC 2019


Reviewed-by: Liming Gao <liming.gao at intel.com>

> -----Original Message-----
> From: Zhang, Shenglei
> Sent: Tuesday, July 2, 2019 9:02 AM
> To: devel at edk2.groups.io
> Cc: Fan, ZhijuX <zhijux.fan at intel.com>; Gao, Liming <liming.gao at intel.com>; Feng, Bob C <bob.c.feng at intel.com>; Ard Biesheuvel
> <ard.biesheuvel at linaro.org>; Leif Lindholm <leif.lindholm at linaro.org>; Kinney, Michael D <michael.d.kinney at intel.com>
> Subject: [PATCH] Platform/Intel:Change the way of getting the env file content
> 
> From: "Fan, Zhiju" <zhijux.fan at intel.com>
> 
> The env file content can not be retrieved by using the
> original method, so we change the way to read the content.
> And we change the env file to original format.
> 
> This patch is going to fix the issue.
> 
> Cc: Liming Gao <liming.gao at intel.com>
> Cc: Bob Feng <bob.c.feng at intel.com>
> Cc: Ard Biesheuvel <ard.biesheuvel at linaro.org>
> Cc: Leif Lindholm <leif.lindholm at linaro.org>
> Cc: Michael D Kinney <michael.d.kinney at intel.com>
> Signed-off-by: Zhiju.Fan <zhijux.fan at intel.com>
> ---
>  Platform/Intel/Tools/GenBiosId/BiosId.env   |  1 -
>  Platform/Intel/Tools/GenBiosId/GenBiosId.py | 33 ++++++++++++---------
>  2 files changed, 19 insertions(+), 15 deletions(-)
> 
> diff --git a/Platform/Intel/Tools/GenBiosId/BiosId.env b/Platform/Intel/Tools/GenBiosId/BiosId.env
> index dfdeeb3107..614a66ddb8 100644
> --- a/Platform/Intel/Tools/GenBiosId/BiosId.env
> +++ b/Platform/Intel/Tools/GenBiosId/BiosId.env
> @@ -18,7 +18,6 @@
>  #  SPDX-License-Identifier: BSD-2-Clause-Patent
>  #
>  ##
> -[config]
>  BOARD_ID      = KBLRVP3
>  BOARD_REV     = 1
>  BOARD_EXT     = 000
> diff --git a/Platform/Intel/Tools/GenBiosId/GenBiosId.py b/Platform/Intel/Tools/GenBiosId/GenBiosId.py
> index 7e9d115f05..31abb24d31 100644
> --- a/Platform/Intel/Tools/GenBiosId/GenBiosId.py
> +++ b/Platform/Intel/Tools/GenBiosId/GenBiosId.py
> @@ -16,7 +16,7 @@ import struct
>  import datetime
>  import argparse
>  import platform
> -
> +from collections import OrderedDict
>  try:
>      from configparser import ConfigParser
>  except:
> @@ -24,8 +24,6 @@ except:
> 
>  # Config message
>  _BIOS_Signature = "$IBIOSI$"
> -_SectionKeyName = '__name__'
> -_SectionName = 'config'
> 
>  _ConfigItem = {
>      "BOARD_ID": {'Value': '', 'Length': 7},
> @@ -121,20 +119,26 @@ def CheckOptions(Options):
>          EdkLogger("GenBiosId", FILE_NOT_FOUND, ExtraData="Input file not found")
>      return InputFile, OutputFile, OutputTextFile
> 
> +# Read input file and get config
> +def ReadInputFile(InputFile):
> +    InputDict = OrderedDict()
> +    with open(InputFile) as File:
> +        FileLines = File.readlines()
> +    for Line in FileLines:
> +        if Line.strip().startswith('#'):
> +            continue
> +        if '=' in Line:
> +            Key, Value = Line.split('=')
> +            InputDict[Key.strip()] = Value.strip()
> +    return InputDict
> +
> 
>  # Parse the input file and extract the information
> -def ParserInputFile(InputFile):
> -    cf = ConfigParser()
> -    cf.optionxform = str
> -    cf.read(InputFile)
> -    if _SectionName not in cf._sections:
> -        EdkLogger("GenBiosId", FORMAT_NOT_SUPPORTED, ExtraData=_ConfigSectionNotDefine)
> -    for Item in cf._sections[_SectionName]:
> -        if Item == _SectionKeyName:
> -            continue
> +def ParserInputFile(InputDict):
> +    for Item in InputDict:
>          if Item not in _ConfigItem:
>              EdkLogger("GenBiosId", FORMAT_INVALID, ExtraData=_ConfigItemInvalid % Item)
> -        _ConfigItem[Item]['Value'] = cf._sections[_SectionName][Item]
> +        _ConfigItem[Item]['Value'] = InputDict[Item]
>          if len(_ConfigItem[Item]['Value']) != _ConfigItem[Item]['Length']:
>              EdkLogger("GenBiosId", FORMAT_INVALID, ExtraData=_ConfigLenInvalid % Item)
>      for Item in _ConfigItem:
> @@ -168,7 +172,8 @@ def PrintOutputFile(OutputFile, OutputTextFile, Id_Str):
>  def Main():
>      Options = MyOptionParser()
>      InputFile, OutputFile, OutputTextFile = CheckOptions(Options)
> -    Id_Str = ParserInputFile(InputFile)
> +    InputDict = ReadInputFile(InputFile)
> +    Id_Str = ParserInputFile(InputDict)
>      PrintOutputFile(OutputFile, OutputTextFile, Id_Str)
>      return 0
> 
> --
> 2.18.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#43163): https://edk2.groups.io/g/devel/message/43163
Mute This Topic: https://groups.io/mt/32281635/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list