]> git.proxmox.com Git - mirror_edk2.git/commitdiff
python: Replace distutils.utils.split_quotes with shlex.split
authorCole <crobinso@redhat.com>
Fri, 23 Jul 2021 20:02:27 +0000 (04:02 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 2 Aug 2021 03:09:59 +0000 (03:09 +0000)
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@redhat.com>
Reviewed-by: Bob Feng <bob.c.feng@intel.com>
BaseTools/Source/Python/AutoGen/UniClassObject.py
BaseTools/Source/Python/UPT/Library/UniClassObject.py

index 883c2356e0ca62e88dbc244e2fd00d438b55a1be..b16330e36825453ceaa9f3126cc95fd7a1be3cf1 100644 (file)
@@ -12,7 +12,7 @@
 #\r
 from __future__ import print_function\r
 import Common.LongFilePathOs as os, codecs, re\r
-import distutils.util\r
+import shlex\r
 import Common.EdkLogger as EdkLogger\r
 from io import BytesIO\r
 from Common.BuildToolError import *\r
@@ -233,7 +233,7 @@ class UniFileClassObject(object):
     # Get Language definition\r
     #\r
     def GetLangDef(self, File, Line):\r
-        Lang = distutils.util.split_quoted((Line.split(u"//")[0]))\r
+        Lang = shlex.split(Line.split(u"//")[0])\r
         if len(Lang) != 3:\r
             try:\r
                 FileIn = UniFileClassObject.OpenUniFile(LongFilePath(File.Path))\r
index d25f30014677aa7720c6f05a6a4e2d1a238e9533..8c44dc22527759d78fe06423d8ccd987c8be751b 100644 (file)
@@ -14,7 +14,7 @@ from __future__ import print_function
 # Import Modules\r
 #\r
 import os, codecs, re\r
-import distutils.util\r
+import shlex\r
 from Logger import ToolError\r
 from Logger import Log as EdkLogger\r
 from Logger import StringTable as ST\r
@@ -320,7 +320,7 @@ class UniFileClassObject(object):
     # Get Language definition\r
     #\r
     def GetLangDef(self, File, Line):\r
-        Lang = distutils.util.split_quoted((Line.split(u"//")[0]))\r
+        Lang = shlex.split(Line.split(u"//")[0])\r
         if len(Lang) != 3:\r
             try:\r
                 FileIn = codecs.open(File.Path, mode='rb', encoding='utf_8').readlines()\r