X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/753161b26ec6d7d068e61e6ce7063369740476a0..98b800920d5ad05b854224bfa0ed0b18521788c4:/lib/python/Tools/Directories.py diff --git a/lib/python/Tools/Directories.py b/lib/python/Tools/Directories.py index 576d2773..2b60924c 100644 --- a/lib/python/Tools/Directories.py +++ b/lib/python/Tools/Directories.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from os import path as os_path, mkdir, rmdir, system, walk, stat as os_stat, listdir, readlink, makedirs, error as os_error, symlink +from os import path as os_path, mkdir, rmdir, system, walk, stat as os_stat, listdir, readlink, makedirs, error as os_error, symlink, access, F_OK, R_OK, W_OK from stat import S_IMODE from re import compile @@ -126,9 +126,12 @@ def resolveFilename(scope, base = "", path_prefix = None): def pathExists(path): return os_path.exists(path) -def createDir(path): +def createDir(path, makeParents = False): try: - mkdir(path) + if makeParents: + makedirs(path) + else: + mkdir(path) except: ret = 0 else: @@ -145,13 +148,13 @@ def removeDir(path): return ret def fileExists(f, mode='r'): - try: - file = open(f, mode) - except IOError: - exists = 0 + if mode == 'r': + acc_mode = R_OK + elif mode == 'w': + acc_mode = W_OK else: - exists = 1 - return exists + acc_mode = F_OK + return access(f, acc_mode) def getRecordingFilename(basename, dirname = None): # filter out non-allowed characters