]> git.proxmox.com Git - mirror_edk2.git/commitdiff
BaseTools: AutoGen - refactor more functions only called in __init__
authorCarsey, Jaben <jaben.carsey@intel.com>
Fri, 27 Apr 2018 22:32:43 +0000 (06:32 +0800)
committerYonghong Zhu <yonghong.zhu@intel.com>
Fri, 4 May 2018 05:03:10 +0000 (13:03 +0800)
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
BaseTools/Source/Python/AutoGen/IdfClassObject.py

index 82396d3744d56f66c4b7a589bf09dd707f44bc45..7bc4e4ffb57b60597e626b2948ba43165804db31 100644 (file)
@@ -66,61 +66,52 @@ EFI_HII_PACKAGE_TYPE_SYSTEM_END    = 0xFF
 \r
 class IdfFileClassObject(object):\r
     def __init__(self, FileList = []):\r
-        self.FileList = FileList\r
         self.ImageFilesDict = {}\r
         self.ImageIDList = []\r
-        if len(self.FileList) > 0:\r
-            self.LoadIdfFiles(FileList)\r
+        for File in FileList:\r
+            if File is None:\r
+                EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'No Image definition file is given.')\r
+            self.File = File\r
 \r
-    def LoadIdfFiles(self, FileList):\r
-        if len(FileList) > 0:\r
-            for File in FileList:\r
-                self.LoadIdfFile(File)\r
+            try:\r
+                IdfFile = open(LongFilePath(File.Path), mode='r')\r
+                FileIn = IdfFile.read()\r
+                IdfFile.close()\r
+            except:\r
+                EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=File)\r
 \r
-    def LoadIdfFile(self, File = None):\r
-        if File is None:\r
-            EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'No Image definition file is given.')\r
-        self.File = File\r
+            ImageFileList = []\r
+            for Line in FileIn.splitlines():\r
+                Line = Line.strip()\r
+                Line = StripComments(Line)\r
+                if len(Line) == 0:\r
+                    continue\r
 \r
-        try:\r
-            IdfFile = open(LongFilePath(File.Path), mode='r')\r
-            FileIn = IdfFile.read()\r
-            IdfFile.close()\r
-        except:\r
-            EdkLogger.error("build", FILE_OPEN_FAILURE, ExtraData=File)\r
+                LineNo = GetLineNo(FileIn, Line, False)\r
+                if not Line.startswith('#image '):\r
+                    EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'The %s in Line %s of File %s is invalid.' % (Line, LineNo, File.Path))\r
 \r
-        ImageFileList = []\r
-        for Line in FileIn.splitlines():\r
-            Line = Line.strip()\r
-            Line = StripComments(Line)\r
-            if len(Line) == 0:\r
-                continue\r
-\r
-            LineNo = GetLineNo(FileIn, Line, False)\r
-            if not Line.startswith('#image '):\r
-                EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'The %s in Line %s of File %s is invalid.' % (Line, LineNo, File.Path))\r
-\r
-            if Line.find('#image ') >= 0:\r
-                LineDetails = Line.split()\r
-                Len = len(LineDetails)\r
-                if Len != 3 and Len != 4:\r
-                    EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'The format is not match #image IMAGE_ID [TRANSPARENT] ImageFileName in Line %s of File %s.' % (LineNo, File.Path))\r
-                if Len == 4 and LineDetails[2] != 'TRANSPARENT':\r
-                    EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'Please use the keyword "TRANSPARENT" to describe the transparency setting in Line %s of File %s.' % (LineNo, File.Path))\r
-                MatchString = gIdentifierPattern.match(LineDetails[1])\r
-                if MatchString is None:\r
-                    EdkLogger.error('Image Definition  File Parser', FORMAT_INVALID, 'The Image token name %s defined in Idf file %s contains the invalid character.' % (LineDetails[1], File.Path))\r
-                if LineDetails[1] not in self.ImageIDList:\r
-                    self.ImageIDList.append(LineDetails[1])\r
-                else:\r
-                    EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'The %s in Line %s of File %s is already defined.' % (LineDetails[1], LineNo, File.Path))\r
-                if Len == 4:\r
-                    ImageFile = ImageFileObject(LineDetails[Len-1], LineDetails[1], True)\r
-                else:\r
-                    ImageFile = ImageFileObject(LineDetails[Len-1], LineDetails[1], False)\r
-                ImageFileList.append(ImageFile)\r
-        if ImageFileList:\r
-            self.ImageFilesDict[File] = ImageFileList\r
+                if Line.find('#image ') >= 0:\r
+                    LineDetails = Line.split()\r
+                    Len = len(LineDetails)\r
+                    if Len != 3 and Len != 4:\r
+                        EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'The format is not match #image IMAGE_ID [TRANSPARENT] ImageFileName in Line %s of File %s.' % (LineNo, File.Path))\r
+                    if Len == 4 and LineDetails[2] != 'TRANSPARENT':\r
+                        EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'Please use the keyword "TRANSPARENT" to describe the transparency setting in Line %s of File %s.' % (LineNo, File.Path))\r
+                    MatchString = gIdentifierPattern.match(LineDetails[1])\r
+                    if MatchString is None:\r
+                        EdkLogger.error('Image Definition  File Parser', FORMAT_INVALID, 'The Image token name %s defined in Idf file %s contains the invalid character.' % (LineDetails[1], File.Path))\r
+                    if LineDetails[1] not in self.ImageIDList:\r
+                        self.ImageIDList.append(LineDetails[1])\r
+                    else:\r
+                        EdkLogger.error("Image Definition File Parser", PARSER_ERROR, 'The %s in Line %s of File %s is already defined.' % (LineDetails[1], LineNo, File.Path))\r
+                    if Len == 4:\r
+                        ImageFile = ImageFileObject(LineDetails[Len-1], LineDetails[1], True)\r
+                    else:\r
+                        ImageFile = ImageFileObject(LineDetails[Len-1], LineDetails[1], False)\r
+                    ImageFileList.append(ImageFile)\r
+            if ImageFileList:\r
+                self.ImageFilesDict[File] = ImageFileList\r
 \r
 def SearchImageID(ImageFileObject, FileList):\r
     if FileList == []:\r