## @file\r
# Override built in module os to provide support for long file path\r
#\r
-# Copyright (c) 2014, 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
-# http://opensource.org/licenses/bsd-license.php\r
-#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
\r
+from __future__ import absolute_import\r
import os\r
-import LongFilePathOsPath\r
+from . import LongFilePathOsPath\r
from Common.LongFilePathSupport import LongFilePath\r
-from Common.LongFilePathSupport import UniToStr\r
+import time\r
\r
path = LongFilePathOsPath\r
\r
return os.access(LongFilePath(path), mode)\r
\r
def remove(path):\r
- return os.remove(LongFilePath(path))\r
+ Timeout = 0.0\r
+ while Timeout < 5.0:\r
+ try:\r
+ return os.remove(LongFilePath(path))\r
+ except:\r
+ time.sleep(0.1)\r
+ Timeout = Timeout + 0.1\r
+ return os.remove(LongFilePath(path))\r
\r
def removedirs(name):\r
return os.removedirs(LongFilePath(name))\r
def mkdir(path):\r
return os.mkdir(LongFilePath(path))\r
\r
-def makedirs(name, mode=0777):\r
+def makedirs(name, mode=0o777):\r
return os.makedirs(LongFilePath(name), mode)\r
\r
def rename(old, new):\r
List = []\r
uList = os.listdir(u"%s" % LongFilePath(path))\r
for Item in uList:\r
- List.append(UniToStr(Item))\r
+ List.append(Item)\r
return List\r
\r
environ = os.environ\r