diff --git a/satella/os/misc.py b/satella/os/misc.py index d01fcd4abb3823bf87df775ae8c79df986ffe3df..456aad4fdfd8aa4063c75b915e5fbeb666959303 100644 --- a/satella/os/misc.py +++ b/satella/os/misc.py @@ -44,17 +44,17 @@ def safe_listdir(directory: str) -> tp.Iterator[str]: return -@silence_excs(FileNotFoundError) def _whereis(directory: str, name, available_extensions): for file in safe_listdir(directory): path = os.path.join(directory, file) - if 'x' in stat.filemode(os.stat(path).st_mode): - if sys.platform.startswith('win'): # a POSIX-specific check - file = file.upper() # paths are not case-sensitive on Windows - - for extension in available_extensions: - if file == '%s%s' % (name, extension): - yield path + with silence_excs(FileNotFoundError): + if 'x' in stat.filemode(os.stat(path).st_mode): + if sys.platform.startswith('win'): # a POSIX-specific check + file = file.upper() # paths are not case-sensitive on Windows + + for extension in available_extensions: + if file == '%s%s' % (name, extension): + yield path def is_running_as_root() -> bool: