## @file | |
# Override built in module os to provide support for long file path | |
# | |
# Copyright (c) 2014 - 2018, Intel Corporation. All rights reserved.<BR> | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
from __future__ import absolute_import | |
import os | |
from . import LongFilePathOsPath | |
from Common.LongFilePathSupport import LongFilePath | |
import time | |
path = LongFilePathOsPath | |
def access(path, mode): | |
return os.access(LongFilePath(path), mode) | |
def remove(path): | |
Timeout = 0.0 | |
while Timeout < 5.0: | |
try: | |
return os.remove(LongFilePath(path)) | |
except: | |
time.sleep(0.1) | |
Timeout = Timeout + 0.1 | |
return os.remove(LongFilePath(path)) | |
def removedirs(name): | |
return os.removedirs(LongFilePath(name)) | |
def rmdir(path): | |
return os.rmdir(LongFilePath(path)) | |
def mkdir(path): | |
return os.mkdir(LongFilePath(path)) | |
def makedirs(name, mode=0o777): | |
return os.makedirs(LongFilePath(name), mode) | |
def rename(old, new): | |
return os.rename(LongFilePath(old), LongFilePath(new)) | |
def chdir(path): | |
return os.chdir(LongFilePath(path)) | |
def chmod(path, mode): | |
return os.chmod(LongFilePath(path), mode) | |
def stat(path): | |
return os.stat(LongFilePath(path)) | |
def utime(path, times): | |
return os.utime(LongFilePath(path), times) | |
def listdir(path): | |
List = [] | |
uList = os.listdir(u"%s" % LongFilePath(path)) | |
for Item in uList: | |
List.append(Item) | |
return List | |
if hasattr(os, 'replace'): | |
def replace(src, dst): | |
return os.replace(LongFilePath(src), LongFilePath(dst)) | |
environ = os.environ | |
getcwd = os.getcwd | |
chdir = os.chdir | |
walk = os.walk | |
W_OK = os.W_OK | |
F_OK = os.F_OK | |
sep = os.sep | |
linesep = os.linesep | |
getenv = os.getenv | |
pathsep = os.pathsep | |
name = os.name | |
SEEK_SET = os.SEEK_SET | |
SEEK_END = os.SEEK_END |