]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Eot/Eot.py
BaseTools: Eot - Remove FvImage file
[mirror_edk2.git] / BaseTools / Source / Python / Eot / Eot.py
index 96c339613476d3005eaa587e2b9bee25259935dd..15de822d69c279addd5ef19ecee6b0714e0912aa 100644 (file)
@@ -1,7 +1,7 @@
 ## @file\r
 # This file is used to be the main entrance of EOT tool\r
 #\r
-# Copyright (c) 2008 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>\r
 # This program and the accompanying materials\r
 # are licensed and made available under the terms and conditions of the BSD License\r
 # which accompanies this distribution.  The full text of the license may be found at\r
@@ -24,13 +24,35 @@ from Common.Misc import GuidStructureStringToGuidString
 from InfParserLite import *\r
 import c\r
 import Database\r
-from FvImage import *\r
 from array import array\r
 from Report import Report\r
 from Common.BuildVersion import gBUILD_VERSION\r
 from Parser import ConvertGuid\r
 from Common.LongFilePathSupport import OpenLongFilePath as open\r
 \r
+## MultipleFv() class\r
+#\r
+#  A class for Multiple FV\r
+#\r
+class MultipleFv(FirmwareVolume):\r
+    def __init__(self, FvList):\r
+        FirmwareVolume.__init__(self)\r
+        self.BasicInfo = []\r
+        for FvPath in FvList:\r
+            FvName = os.path.splitext(os.path.split(FvPath)[1])[0]\r
+            Fd = open(FvPath, 'rb')\r
+            Buf = array('B')\r
+            try:\r
+                Buf.fromfile(Fd, os.path.getsize(FvPath))\r
+            except EOFError:\r
+                pass\r
+\r
+            Fv = FirmwareVolume(FvName)\r
+            Fv.frombuffer(Buf, 0, len(Buf))\r
+\r
+            self.BasicInfo.append([Fv.Name, Fv.FileSystemGuid, Fv.Size])\r
+            self.FfsDict.append(Fv.FfsDict)    \r
+\r
 ## Class Eot\r
 #\r
 # This class is used to define Eot main entrance\r