From 22ee6fb7c186853710ebc57a0dbd716d45b7eef0 Mon Sep 17 00:00:00 2001 From: Glenn Jocher Date: Fri, 10 Sep 2021 17:52:33 +0200 Subject: [PATCH] Update `is_writeable()` for 2 methods (#4744) * Writeable test * Fix * Cleanup --- utils/general.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/utils/general.py b/utils/general.py index 6201320..e8b158a 100755 --- a/utils/general.py +++ b/utils/general.py @@ -112,17 +112,19 @@ def user_config_dir(dir='Ultralytics'): return path -def is_writeable(dir): - # Return True if directory has write permissions - # return os.access(path, os.R_OK) # known issue on Windows - file = Path(dir) / 'tmp.txt' - try: - with open(file, 'w'): - pass - file.unlink() # remove file - return True - except IOError: - return False +def is_writeable(dir, test=False): + # Return True if directory has write permissions, test opening a file with write permissions if test=True + if test: # method 1 + file = Path(dir) / 'tmp.txt' + try: + with open(file, 'w'): # open file with write permissions + pass + file.unlink() # remove file + return True + except IOError: + return False + else: # method 2 + return os.access(dir, os.R_OK) # possible issues on Windows def is_docker():