]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/Python/Common/Misc.py
BaseTools: Remove unused code from Misc
[mirror_edk2.git] / BaseTools / Source / Python / Common / Misc.py
index d1752d8a624e7087061779fb48e8ff9f292c5a26..5e9a104305c2965b324c93a4e941f03443cbef4e 100644 (file)
@@ -287,32 +287,6 @@ def ClearDuplicatedInf():
         if os.path.exists(File):\r
             os.remove(File)\r
 \r
-## callback routine for processing variable option\r
-#\r
-# This function can be used to process variable number of option values. The\r
-# typical usage of it is specify architecure list on command line.\r
-# (e.g. <tool> -a IA32 X64 IPF)\r
-#\r
-# @param  Option        Standard callback function parameter\r
-# @param  OptionString  Standard callback function parameter\r
-# @param  Value         Standard callback function parameter\r
-# @param  Parser        Standard callback function parameter\r
-#\r
-# @retval\r
-#\r
-def ProcessVariableArgument(Option, OptionString, Value, Parser):\r
-    assert Value is None\r
-    Value = []\r
-    RawArgs = Parser.rargs\r
-    while RawArgs:\r
-        Arg = RawArgs[0]\r
-        if (Arg[:2] == "--" and len(Arg) > 2) or \\r
-           (Arg[:1] == "-" and len(Arg) > 1 and Arg[1] != "-"):\r
-            break\r
-        Value.append(Arg)\r
-        del RawArgs[0]\r
-    setattr(Parser.values, Option.dest, Value)\r
-\r
 ## Convert GUID string in xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx style to C structure style\r
 #\r
 #   @param      Guid    The GUID string\r
@@ -450,32 +424,6 @@ def RemoveDirectory(Directory, Recursively=False):
         os.chdir(CurrentDirectory)\r
     os.rmdir(Directory)\r
 \r
-## Check if given file is changed or not\r
-#\r
-#  This method is used to check if a file is changed or not between two build\r
-#  actions. It makes use a cache to store files timestamp.\r
-#\r
-#   @param      File    The path of file\r
-#\r
-#   @retval     True    If the given file is changed, doesn't exist, or can't be\r
-#                       found in timestamp cache\r
-#   @retval     False   If the given file is changed\r
-#\r
-def IsChanged(File):\r
-    if not os.path.exists(File):\r
-        return True\r
-\r
-    FileState = os.stat(File)\r
-    TimeStamp = FileState[-2]\r
-\r
-    if File in gFileTimeStampCache and TimeStamp == gFileTimeStampCache[File]:\r
-        FileChanged = False\r
-    else:\r
-        FileChanged = True\r
-        gFileTimeStampCache[File] = TimeStamp\r
-\r
-    return FileChanged\r
-\r
 ## Store content in file\r
 #\r
 #  This method is used to save file only when its content is changed. This is\r
@@ -635,47 +583,6 @@ class DirCache:
             return os.path.join(self._Root, self._UPPER_CACHE_[UpperPath])\r
         return None\r
 \r
-## Get all files of a directory\r
-#\r
-# @param Root:       Root dir\r
-# @param SkipList :  The files need be skipped\r
-#\r
-# @retval  A list of all files\r
-#\r
-def GetFiles(Root, SkipList=None, FullPath=True):\r
-    OriPath = Root\r
-    FileList = []\r
-    for Root, Dirs, Files in os.walk(Root):\r
-        if SkipList:\r
-            for Item in SkipList:\r
-                if Item in Dirs:\r
-                    Dirs.remove(Item)\r
-\r
-        for File in Files:\r
-            File = os.path.normpath(os.path.join(Root, File))\r
-            if not FullPath:\r
-                File = File[len(OriPath) + 1:]\r
-            FileList.append(File)\r
-\r
-    return FileList\r
-\r
-## Check if gvien file exists or not\r
-#\r
-#   @param      File    File name or path to be checked\r
-#   @param      Dir     The directory the file is relative to\r
-#\r
-#   @retval     True    if file exists\r
-#   @retval     False   if file doesn't exists\r
-#\r
-def ValidFile(File, Ext=None):\r
-    if Ext is not None:\r
-        Dummy, FileExt = os.path.splitext(File)\r
-        if FileExt.lower() != Ext.lower():\r
-            return False\r
-    if not os.path.exists(File):\r
-        return False\r
-    return True\r
-\r
 def RealPath(File, Dir='', OverrideDir=''):\r
     NewFile = os.path.normpath(os.path.join(Dir, File))\r
     NewFile = GlobalData.gAllFiles[NewFile]\r
@@ -710,115 +617,6 @@ def RealPath2(File, Dir='', OverrideDir=''):
 \r
     return None, None\r
 \r
-## Check if gvien file exists or not\r
-#\r
-#\r
-def ValidFile2(AllFiles, File, Ext=None, Workspace='', EfiSource='', EdkSource='', Dir='.', OverrideDir=''):\r
-    NewFile = File\r
-    if Ext is not None:\r
-        Dummy, FileExt = os.path.splitext(File)\r
-        if FileExt.lower() != Ext.lower():\r
-            return False, File\r
-\r
-    # Replace the Edk macros\r
-    if OverrideDir != '' and OverrideDir is not None:\r
-        if OverrideDir.find('$(EFI_SOURCE)') > -1:\r
-            OverrideDir = OverrideDir.replace('$(EFI_SOURCE)', EfiSource)\r
-        if OverrideDir.find('$(EDK_SOURCE)') > -1:\r
-            OverrideDir = OverrideDir.replace('$(EDK_SOURCE)', EdkSource)\r
-\r
-    # Replace the default dir to current dir\r
-    if Dir == '.':\r
-        Dir = os.getcwd()\r
-        Dir = Dir[len(Workspace) + 1:]\r
-\r
-    # First check if File has Edk definition itself\r
-    if File.find('$(EFI_SOURCE)') > -1 or File.find('$(EDK_SOURCE)') > -1:\r
-        NewFile = File.replace('$(EFI_SOURCE)', EfiSource)\r
-        NewFile = NewFile.replace('$(EDK_SOURCE)', EdkSource)\r
-        NewFile = AllFiles[os.path.normpath(NewFile)]\r
-        if NewFile is not None:\r
-            return True, NewFile\r
-\r
-    # Second check the path with override value\r
-    if OverrideDir != '' and OverrideDir is not None:\r
-        NewFile = AllFiles[os.path.normpath(os.path.join(OverrideDir, File))]\r
-        if NewFile is not None:\r
-            return True, NewFile\r
-\r
-    # Last check the path with normal definitions\r
-    File = os.path.join(Dir, File)\r
-    NewFile = AllFiles[os.path.normpath(File)]\r
-    if NewFile is not None:\r
-        return True, NewFile\r
-\r
-    return False, File\r
-\r
-## Check if gvien file exists or not\r
-#\r
-#\r
-def ValidFile3(AllFiles, File, Workspace='', EfiSource='', EdkSource='', Dir='.', OverrideDir=''):\r
-    # Replace the Edk macros\r
-    if OverrideDir != '' and OverrideDir is not None:\r
-        if OverrideDir.find('$(EFI_SOURCE)') > -1:\r
-            OverrideDir = OverrideDir.replace('$(EFI_SOURCE)', EfiSource)\r
-        if OverrideDir.find('$(EDK_SOURCE)') > -1:\r
-            OverrideDir = OverrideDir.replace('$(EDK_SOURCE)', EdkSource)\r
-\r
-    # Replace the default dir to current dir\r
-    # Dir is current module dir related to workspace\r
-    if Dir == '.':\r
-        Dir = os.getcwd()\r
-        Dir = Dir[len(Workspace) + 1:]\r
-\r
-    NewFile = File\r
-    RelaPath = AllFiles[os.path.normpath(Dir)]\r
-    NewRelaPath = RelaPath\r
-\r
-    while(True):\r
-        # First check if File has Edk definition itself\r
-        if File.find('$(EFI_SOURCE)') > -1 or File.find('$(EDK_SOURCE)') > -1:\r
-            File = File.replace('$(EFI_SOURCE)', EfiSource)\r
-            File = File.replace('$(EDK_SOURCE)', EdkSource)\r
-            NewFile = AllFiles[os.path.normpath(File)]\r
-            if NewFile is not None:\r
-                NewRelaPath = os.path.dirname(NewFile)\r
-                File = os.path.basename(NewFile)\r
-                #NewRelaPath = NewFile[:len(NewFile) - len(File.replace("..\\", '').replace("../", '')) - 1]\r
-                break\r
-\r
-        # Second check the path with override value\r
-        if OverrideDir != '' and OverrideDir is not None:\r
-            NewFile = AllFiles[os.path.normpath(os.path.join(OverrideDir, File))]\r
-            if NewFile is not None:\r
-                #NewRelaPath = os.path.dirname(NewFile)\r
-                NewRelaPath = NewFile[:len(NewFile) - len(File.replace("..\\", '').replace("../", '')) - 1]\r
-                break\r
-\r
-        # Last check the path with normal definitions\r
-        NewFile = AllFiles[os.path.normpath(os.path.join(Dir, File))]\r
-        if NewFile is not None:\r
-            break\r
-\r
-        # No file found\r
-        break\r
-\r
-    return NewRelaPath, RelaPath, File\r
-\r
-\r
-def GetRelPath(Path1, Path2):\r
-    FileName = os.path.basename(Path2)\r
-    L1 = os.path.normpath(Path1).split(os.path.normpath('/'))\r
-    L2 = os.path.normpath(Path2).split(os.path.normpath('/'))\r
-    for Index in range(0, len(L1)):\r
-        if L1[Index] != L2[Index]:\r
-            FileName = '../' * (len(L1) - Index)\r
-            for Index2 in range(Index, len(L2)):\r
-                FileName = os.path.join(FileName, L2[Index2])\r
-            break\r
-    return os.path.normpath(FileName)\r
-\r
-\r
 ## Get GUID value from given packages\r
 #\r
 #   @param      CName           The CName of the GUID\r
@@ -1411,36 +1209,6 @@ class tdict:
                 keys |= self.data[Key].GetKeys(KeyIndex - 1)\r
             return keys\r
 \r
-## Boolean chain list\r
-#\r
-class Blist(UserList):\r
-    def __init__(self, initlist=None):\r
-        UserList.__init__(self, initlist)\r
-    def __setitem__(self, i, item):\r
-        if item not in [True, False]:\r
-            if item == 0:\r
-                item = False\r
-            else:\r
-                item = True\r
-        self.data[i] = item\r
-    def _GetResult(self):\r
-        Value = True\r
-        for item in self.data:\r
-            Value &= item\r
-        return Value\r
-    Result = property(_GetResult)\r
-\r
-def ParseConsoleLog(Filename):\r
-    Opr = open(os.path.normpath(Filename), 'r')\r
-    Opw = open(os.path.normpath(Filename + '.New'), 'w+')\r
-    for Line in Opr.readlines():\r
-        if Line.find('.efi') > -1:\r
-            Line = Line[Line.rfind(' ') : Line.rfind('.efi')].strip()\r
-            Opw.write('%s\n' % Line)\r
-\r
-    Opr.close()\r
-    Opw.close()\r
-\r
 def IsFieldValueAnArray (Value):\r
     Value = Value.strip()\r
     if Value.startswith('GUID') and Value.endswith(')'):\r
@@ -1649,7 +1417,7 @@ def ParseFieldValue (Value):
 ## AnalyzeDscPcd\r
 #\r
 #  Analyze DSC PCD value, since there is no data type info in DSC\r
-#  This fuction is used to match functions (AnalyzePcdData, AnalyzeHiiPcdData, AnalyzeVpdPcdData) used for retrieving PCD value from database\r
+#  This fuction is used to match functions (AnalyzePcdData) used for retrieving PCD value from database\r
 #  1. Feature flag: TokenSpace.PcdCName|PcdValue\r
 #  2. Fix and Patch:TokenSpace.PcdCName|PcdValue[|MaxSize]\r
 #  3. Dynamic default:\r
@@ -1785,52 +1553,6 @@ def AnalyzePcdData(Setting):
         \r
     return ValueList   \r
  \r
-## AnalyzeHiiPcdData\r
-#\r
-#  Analyze the pcd Value, variable name, variable Guid and variable offset.\r
-#  Used to avoid split issue while the value string contain "|" character\r
-#\r
-#  @param[in] Setting:  A String contain VariableName, VariableGuid, VariableOffset, DefaultValue information;\r
-#  \r
-#  @retval   ValueList: A List contaian VariableName, VariableGuid, VariableOffset, DefaultValue. \r
-#\r
-def AnalyzeHiiPcdData(Setting):\r
-    ValueList = ['', '', '', '']\r
-\r
-    TokenList = GetSplitValueList(Setting)\r
-    ValueList[0:len(TokenList)] = TokenList\r
-\r
-    return ValueList\r
-\r
-## AnalyzeVpdPcdData\r
-#\r
-#  Analyze the vpd pcd VpdOffset, MaxDatumSize and InitialValue.\r
-#  Used to avoid split issue while the value string contain "|" character\r
-#\r
-#  @param[in] Setting:  A String contain VpdOffset/MaxDatumSize/InitialValue information;\r
-#  \r
-#  @retval   ValueList: A List contain VpdOffset, MaxDatumSize and InitialValue. \r
-#\r
-def AnalyzeVpdPcdData(Setting):\r
-    ValueList = ['', '', '']\r
-\r
-    ValueRe = re.compile(r'\s*L?\".*\|.*\"\s*$')\r
-    PtrValue = ValueRe.findall(Setting)\r
-    \r
-    ValueUpdateFlag = False\r
-    \r
-    if len(PtrValue) >= 1:\r
-        Setting = re.sub(ValueRe, '', Setting)\r
-        ValueUpdateFlag = True\r
-\r
-    TokenList = Setting.split(TAB_VALUE_SPLIT)\r
-    ValueList[0:len(TokenList)] = TokenList\r
-    \r
-    if ValueUpdateFlag:\r
-        ValueList[2] = PtrValue[0]\r
-        \r
-    return ValueList     \r
-\r
 ## check format of PCD value against its the datum type\r
 #\r
 # For PCD value setting\r