\r
return True\r
\r
-## Make a Python object persistent on file system\r
-#\r
-# @param Data The object to be stored in file\r
-# @param File The path of file to store the object\r
-#\r
-def DataDump(Data, File):\r
- Fd = None\r
- try:\r
- Fd = open(File, 'wb')\r
- pickle.dump(Data, Fd, pickle.HIGHEST_PROTOCOL)\r
- except:\r
- EdkLogger.error("", FILE_OPEN_FAILURE, ExtraData=File, RaiseError=False)\r
- finally:\r
- if Fd is not None:\r
- Fd.close()\r
-\r
-## Restore a Python object from a file\r
-#\r
-# @param File The path of file stored the object\r
-#\r
-# @retval object A python object\r
-# @retval None If failure in file operation\r
-#\r
-def DataRestore(File):\r
- Data = None\r
- Fd = None\r
- try:\r
- Fd = open(File, 'rb')\r
- Data = pickle.load(Fd)\r
- except Exception as e:\r
- EdkLogger.verbose("Failed to load [%s]\n\t%s" % (File, str(e)))\r
- Data = None\r
- finally:\r
- if Fd is not None:\r
- Fd.close()\r
- return Data\r
-\r
## Retrieve and cache the real path name in file system\r
#\r
# @param Root The root directory of path relative to\r