##\r
# Import Modules\r
#\r
-from __future__ import print_function\r
-from __future__ import absolute_import\r
import Common.LongFilePathOs as os\r
import re\r
import time\r
if FilePath in Class.MetaFiles:\r
return Class.MetaFiles[FilePath]\r
else:\r
- ParserObject = super(MetaFileParser, Class).__new__(Class)\r
+ ParserObject = super().__new__(Class)\r
Class.MetaFiles[FilePath] = ParserObject\r
return ParserObject\r
\r
self._PostProcessed = True\r
\r
## Get the parse complete flag\r
- def _GetFinished(self):\r
+ @property\r
+ def Finished(self):\r
return self._Finished\r
\r
## Set the complete flag\r
- def _SetFinished(self, Value):\r
+ @Finished.setter\r
+ def Finished(self, Value):\r
self._Finished = Value\r
\r
## Remove records that do not match given Filter Arch\r
)\r
def GetValidExpression(self, TokenSpaceGuid, PcdCName):\r
return self._Table.GetValidExpression(TokenSpaceGuid, PcdCName)\r
- def _GetMacros(self):\r
+\r
+ @property\r
+ def _Macros(self):\r
Macros = {}\r
Macros.update(self._FileLocalMacros)\r
Macros.update(self._GetApplicableSectionMacro())\r
return Macros\r
\r
_SectionParser = {}\r
- Finished = property(_GetFinished, _SetFinished)\r
- _Macros = property(_GetMacros)\r
-\r
\r
## INF file parser class\r
#\r
)\r
\r
## Override parent's method since we'll do all macro replacements in parser\r
- def _GetMacros(self):\r
+ @property\r
+ def _Macros(self):\r
Macros = {}\r
Macros.update(self._FileLocalMacros)\r
Macros.update(self._GetApplicableSectionMacro())\r
MODEL_META_DATA_SUBSECTION_HEADER : _SubsectionHeaderParser,\r
}\r
\r
- _Macros = property(_GetMacros)\r
-\r
## DEC file parser class\r
#\r
# @param FilePath The path of platform description file\r
return\r
\r
if self._include_flag:\r
- self._ValueList[1] = "<HeaderFiles>_" + md5(self._CurrentLine).hexdigest()\r
+ self._ValueList[1] = "<HeaderFiles>_" + md5(self._CurrentLine.encode('utf-8')).hexdigest()\r
self._ValueList[2] = self._CurrentLine\r
if self._package_flag and "}" != self._CurrentLine:\r
- self._ValueList[1] = "<Packages>_" + md5(self._CurrentLine).hexdigest()\r
+ self._ValueList[1] = "<Packages>_" + md5(self._CurrentLine.encode('utf-8')).hexdigest()\r
self._ValueList[2] = self._CurrentLine\r
if self._CurrentLine == "}":\r
self._package_flag = False\r