## Set parsing complete flag in both class and table\r
def _Done(self):\r
self._Finished = True\r
- ## Do not set end flag when processing included files\r
- if self._From == -1:\r
- self._Table.SetEndFlag()\r
+ self._Table.SetEndFlag()\r
\r
def _PostProcess(self):\r
self._PostProcessed = True\r
DataInfo = (DataInfo,)\r
\r
# Parse the file first, if necessary\r
- if not self._Finished:\r
- if self._RawTable.IsIntegrity():\r
- self._Finished = True\r
- else:\r
- self._Table = self._RawTable\r
- self._PostProcessed = False\r
- self.Start()\r
+ self.StartParse()\r
\r
# No specific ARCH or Platform given, use raw data\r
if self._RawTable and (len(DataInfo) == 1 or DataInfo[1] is None):\r
\r
return self._FilterRecordList(self._Table.Query(*DataInfo), DataInfo[1])\r
\r
+ def StartParse(self):\r
+ if not self._Finished:\r
+ if self._RawTable.IsIntegrity():\r
+ self._Finished = True\r
+ else:\r
+ self._Table = self._RawTable\r
+ self._PostProcessed = False\r
+ self.Start()\r
## Data parser for the common format in different type of file\r
#\r
# The common format in the meatfile is like\r
self._PcdCodeValue = ""\r
self._PcdDataTypeCODE = False\r
self._CurrentPcdName = ""\r
+ self._Content = None\r
\r
## Parser starter\r
def Start(self):\r
Parser._Scope = self._Scope\r
Parser._Enabled = self._Enabled\r
# Parse the included file\r
- Parser.Start()\r
-\r
-\r
+ Parser.StartParse()\r
# Insert all records in the table for the included file into dsc file table\r
Records = IncludedFileTable.GetAll()\r
if Records:\r