Re: [edk2] [Patch] BaseTools/BinToPcd: Open output file as text file

2018-08-05 Thread Zhu, Yonghong
Reviewed-by: Yonghong Zhu  

Best Regards,
Zhu Yonghong

-Original Message-
From: Sun, Yanyan 
Sent: Monday, August 6, 2018 10:17 AM
To: Kinney, Michael D ; edk2-devel@lists.01.org
Cc: Zhu, Yonghong ; Gao, Liming ; 
Sun, Yanyan 
Subject: RE: [Patch] BaseTools/BinToPcd: Open output file as text file

Mike:

Tried this patch, seems that the issue is fixed.

-Original Message-
From: Kinney, Michael D
Sent: Saturday, August 04, 2018 4:48 AM
To: edk2-devel@lists.01.org
Cc: Sun, Yanyan ; Zhu, Yonghong ; 
Gao, Liming ; Kinney, Michael D 

Subject: [Patch] BaseTools/BinToPcd: Open output file as text file

https://bugzilla.tianocore.org/show_bug.cgi?id=1069

Undo changes from following commit:

https://github.com/tianocore/edk2/commit/83964ebc5e74549d6efc7134af19150a0b2079aa

Change the open mode for the output file from 'wb' to 'w' so the output file is 
written as a text file and not a binary file.

This resolves the issue where the text file was not writable from Python 3.x 
and also removes b'' from output file when the string was encoded as a 
bytearray.

Cc: YanYan Sun 
Cc: Yonghong Zhu 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney 
---
 BaseTools/Scripts/BinToPcd.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Scripts/BinToPcd.py b/BaseTools/Scripts/BinToPcd.py 
index 1495a36933..316cc6117f 100644
--- a/BaseTools/Scripts/BinToPcd.py
+++ b/BaseTools/Scripts/BinToPcd.py
@@ -70,8 +70,7 @@ if __name__ == '__main__':
 #
 # Return a PCD value of the form '{0x01, 0x02, ...}' along with the 
PCD length in bytes
 #
-PcdValue = '{' + ', '.join (['0x{Byte:02X}'.format (Byte = Item) for 
Item in Buffer]) + '}'
-return PcdValue.encode (), len (Buffer)
+return '{' + (', '.join (['0x{Byte:02X}'.format (Byte = Item) 
+ for Item in Buffer])) + '}', len (Buffer)
 
 #
 # Create command line argument parser object @@ -81,7 +80,7 @@ if __name__ 
== '__main__':
   conflict_handler = 'resolve')
 parser.add_argument ("-i", "--input", dest = 'InputFile', type = 
argparse.FileType ('rb'), action='append', required = True,
  help = "Input binary filename.  Multiple input files 
are combined into a single PCD.")
-parser.add_argument ("-o", "--output", dest = 'OutputFile', type = 
argparse.FileType ('wb'),
+parser.add_argument ("-o", "--output", dest = 'OutputFile', type = 
+ argparse.FileType ('w'),
  help = "Output filename for PCD value or PCD 
statement")
 parser.add_argument ("-p", "--pcd", dest = 'PcdName', type = 
ValidatePcdName,
  help = "Name of the PCD in the form 
.")
--
2.14.2.windows.3

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


[edk2] [Patch] BaseTools/BinToPcd: Open output file as text file

2018-08-03 Thread Kinney, Michael D
https://bugzilla.tianocore.org/show_bug.cgi?id=1069

Undo changes from following commit:

https://github.com/tianocore/edk2/commit/83964ebc5e74549d6efc7134af19150a0b2079aa

Change the open mode for the output file from 'wb' to 'w' so the
output file is written as a text file and not a binary file.

This resolves the issue where the text file was not writable from
Python 3.x and also removes b'' from output file when the string
was encoded as a bytearray.

Cc: YanYan Sun 
Cc: Yonghong Zhu 
Cc: Liming Gao 
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney 
---
 BaseTools/Scripts/BinToPcd.py | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/BaseTools/Scripts/BinToPcd.py b/BaseTools/Scripts/BinToPcd.py
index 1495a36933..316cc6117f 100644
--- a/BaseTools/Scripts/BinToPcd.py
+++ b/BaseTools/Scripts/BinToPcd.py
@@ -70,8 +70,7 @@ if __name__ == '__main__':
 #
 # Return a PCD value of the form '{0x01, 0x02, ...}' along with the 
PCD length in bytes
 #
-PcdValue = '{' + ', '.join (['0x{Byte:02X}'.format (Byte = Item) for 
Item in Buffer]) + '}'
-return PcdValue.encode (), len (Buffer)
+return '{' + (', '.join (['0x{Byte:02X}'.format (Byte = Item) for Item 
in Buffer])) + '}', len (Buffer)
 
 #
 # Create command line argument parser object
@@ -81,7 +80,7 @@ if __name__ == '__main__':
   conflict_handler = 'resolve')
 parser.add_argument ("-i", "--input", dest = 'InputFile', type = 
argparse.FileType ('rb'), action='append', required = True,
  help = "Input binary filename.  Multiple input files 
are combined into a single PCD.")
-parser.add_argument ("-o", "--output", dest = 'OutputFile', type = 
argparse.FileType ('wb'),
+parser.add_argument ("-o", "--output", dest = 'OutputFile', type = 
argparse.FileType ('w'),
  help = "Output filename for PCD value or PCD 
statement")
 parser.add_argument ("-p", "--pcd", dest = 'PcdName', type = 
ValidatePcdName,
  help = "Name of the PCD in the form 
.")
-- 
2.14.2.windows.3

___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel