[edk2-devel] [PATCH 2/3] python: Replace distutils.utils.split_quotes with shlex.split

Cole crobinso at redhat.com
Fri Jul 23 20:02:27 UTC 2021


distutils is deprecated and may be removed in python 3.12.
Use shlex.split which has been around since python 2.3.

shlex.split does not split on all the ASCII control characters that
split_quoted will[1], but for edk2 usage I don't think that matters.

[1] https://stackoverflow.com/questions/54999301/what-is-the-difference-between-distutils-util-split-quoted-and-shlex-split

Signed-off-by: Cole Robinson <crobinso at redhat.com>
---
 BaseTools/Source/Python/AutoGen/UniClassObject.py     | 4 ++--
 BaseTools/Source/Python/UPT/Library/UniClassObject.py | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py
index 883c2356e0..b16330e368 100644
--- a/BaseTools/Source/Python/AutoGen/UniClassObject.py
+++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py
@@ -12,7 +12,7 @@
 #

 from __future__ import print_function

 import Common.LongFilePathOs as os, codecs, re

-import distutils.util

+import shlex

 import Common.EdkLogger as EdkLogger

 from io import BytesIO

 from Common.BuildToolError import *

@@ -233,7 +233,7 @@ class UniFileClassObject(object):
     # Get Language definition

     #

     def GetLangDef(self, File, Line):

-        Lang = distutils.util.split_quoted((Line.split(u"//")[0]))

+        Lang = shlex.split(Line.split(u"//")[0])

         if len(Lang) != 3:

             try:

                 FileIn = UniFileClassObject.OpenUniFile(LongFilePath(File.Path))

diff --git a/BaseTools/Source/Python/UPT/Library/UniClassObject.py b/BaseTools/Source/Python/UPT/Library/UniClassObject.py
index d25f300146..8c44dc2252 100644
--- a/BaseTools/Source/Python/UPT/Library/UniClassObject.py
+++ b/BaseTools/Source/Python/UPT/Library/UniClassObject.py
@@ -14,7 +14,7 @@ from __future__ import print_function
 # Import Modules

 #

 import os, codecs, re

-import distutils.util

+import shlex

 from Logger import ToolError

 from Logger import Log as EdkLogger

 from Logger import StringTable as ST

@@ -320,7 +320,7 @@ class UniFileClassObject(object):
     # Get Language definition

     #

     def GetLangDef(self, File, Line):

-        Lang = distutils.util.split_quoted((Line.split(u"//")[0]))

+        Lang = shlex.split(Line.split(u"//")[0])

         if len(Lang) != 3:

             try:

                 FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').readlines()

-- 
2.31.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#78145): https://edk2.groups.io/g/devel/message/78145
Mute This Topic: https://groups.io/mt/84409130/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