Python stat.S_ISDIR Examples
The following are 30
code examples of stat.S_ISDIR().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
stat
, or try the search function
.

Example #1
Source File: _os.py From smbprotocol with MIT License | 6 votes |
def is_dir(self, follow_symlinks=True): """ Return 'True' if this entry is a directory or a symbolic link pointing to a directory; return 'False' if the entry is or points to any other kind of file, or if it doesn't exist anymore. If follow_symlinks is 'False', return 'True' only if this entry is a directory (without following symlinks); return 'False' if the entry is any other kind of file. The result is cached on the 'smcblient.DirEntry' object, with a separate cache for follow_symlinks 'True' and 'False'. Call 'smbclient.path.isdir(entry.path)' to fetch up-to-date information. On the first, uncached call, no SMB call is required unless the path is a reparse point. :param follow_symlinks: Whether to check if the entry's target is a directory (True) or the entry itself (False) if the entry is a symlink. :return: bool that states whether the entry is a directory or not. """ is_lnk = self.is_symlink() if follow_symlinks and is_lnk: return self._link_target_type_check(py_stat.S_ISDIR) else: # Python behaviour is to consider a symlink not a directory even if it has the DIRECTORY attribute. return not is_lnk and self._dir_info['file_attributes'].has_flag(FileAttributes.FILE_ATTRIBUTE_DIRECTORY)
Example #2
Source File: sftp.py From filesystem_spec with BSD 3-Clause "New" or "Revised" License | 6 votes |
def info(self, path): s = self.ftp.stat(path) if S_ISDIR(s.st_mode): t = "directory" elif S_ISLNK(s.st_mode): t = "link" else: t = "file" return { "name": path + "/" if t == "directory" else path, "size": s.st_size, "type": t, "uid": s.st_uid, "gid": s.st_gid, "time": s.st_atime, "mtime": s.st_mtime, }
Example #3
Source File: utils.py From bob with GNU General Public License v3.0 | 6 votes |
def __hashEntry(self, prefix, entry, s): if stat.S_ISREG(s.st_mode): digest = self.__index.check(prefix, entry, s, hashFile) elif stat.S_ISDIR(s.st_mode): digest = self.__hashDir(prefix, entry) elif stat.S_ISLNK(s.st_mode): digest = self.__index.check(prefix, entry, s, DirHasher.__hashLink) elif stat.S_ISBLK(s.st_mode) or stat.S_ISCHR(s.st_mode): digest = struct.pack("<L", s.st_rdev) elif stat.S_ISFIFO(s.st_mode): digest = b'' else: digest = b'' logging.getLogger(__name__).warning("Unknown file: %s", entry) return digest
Example #4
Source File: __init__.py From ironpython2 with Apache License 2.0 | 6 votes |
def _rmtree(path): try: shutil.rmtree(path) return except EnvironmentError: pass def _rmtree_inner(path): for name in _force_run(path, os.listdir, path): fullname = os.path.join(path, name) try: mode = os.lstat(fullname).st_mode except EnvironmentError: mode = 0 if stat.S_ISDIR(mode): _rmtree_inner(fullname) _force_run(path, os.rmdir, fullname) else: _force_run(path, os.unlink, fullname) _rmtree_inner(path) os.rmdir(path)
Example #5
Source File: plugin.py From phpsploit with GNU General Public License v3.0 | 6 votes |
def mode_filetype(mode): mode = stat.S_IFMT(mode) dic = { stat.S_ISFIFO: "fifo file", stat.S_ISCHR: "character device", stat.S_ISDIR: "directory", stat.S_ISBLK: "block device", stat.S_ISREG: "regular file", stat.S_ISLNK: "symbolic link", stat.S_ISSOCK: "socket", stat.S_ISDOOR: "door", } for test_func, name in dic.items(): if test_func(mode): return name return "???"
Example #6
Source File: path.py From smbprotocol with MIT License | 5 votes |
def isdir(path, **kwargs): """ Return True if path is an existing directory. This follows symbolic links, so both islink() and isdir() can be true for the same path. :param path: The path to check. :param kwargs: Common arguments used to build the SMB Session. :return: True if path is a dir or points to a dir. """ return _stat_ismode(path, py_stat.S_ISDIR, True, **kwargs)
Example #7
Source File: test_smbclient_os.py From smbprotocol with MIT License | 5 votes |
def test_mkdir(smb_share): dirname = ntpath.join(smb_share, 'dir') smbclient.mkdir(dirname) actual = smbclient.stat(dirname) assert stat.S_ISDIR(actual.st_mode) expected = "[NtStatus 0xc0000035] File exists:" with pytest.raises(SMBOSError, match=re.escape(expected)): smbclient.mkdir(dirname)
Example #8
Source File: test_smbclient_os.py From smbprotocol with MIT License | 5 votes |
def test_makedirs_missing_parents(smb_share): dirpath = ntpath.join(smb_share, 'missing', 'missing', 'folder') smbclient.makedirs(dirpath) assert stat.S_ISDIR(smbclient.stat(dirpath).st_mode)
Example #9
Source File: test_smbclient_os.py From smbprotocol with MIT License | 5 votes |
def test_stat_directory(smb_share): actual = smbclient.stat(smb_share) assert isinstance(actual, smbclient.SMBStatResult) assert actual[0] == actual.st_mode assert actual[1] == actual.st_ino assert actual[2] == actual.st_dev assert actual[3] == actual.st_nlink assert actual[4] == actual.st_uid assert actual[5] == actual.st_gid assert actual[6] == actual.st_size assert actual[7] == actual.st_atime assert actual[8] == actual.st_mtime assert actual[9] == actual.st_ctime assert actual[10] == actual.st_chgtime assert actual[11] == actual.st_atime_ns assert actual[12] == actual.st_mtime_ns assert actual[13] == actual.st_ctime_ns assert actual[14] == actual.st_chgtime_ns assert actual[15] == actual.st_file_attributes assert actual[16] == actual.st_reparse_tag assert stat.S_ISDIR(actual.st_mode) assert not stat.S_ISREG(actual.st_mode) assert not stat.S_ISLNK(actual.st_mode) assert actual.st_nlink == 1 assert actual.st_gid == 0 assert actual.st_uid == 0 assert actual.st_size == 0 assert actual.st_ctime is not None assert actual.st_chgtime is not None assert actual.st_atime is not None assert actual.st_mtime is not None assert actual.st_ctime_ns is not None assert actual.st_chgtime_ns is not None assert actual.st_atime_ns is not None assert actual.st_mtime_ns is not None assert actual.st_file_attributes == FileAttributes.FILE_ATTRIBUTE_DIRECTORY assert actual.st_reparse_tag == 0
Example #10
Source File: genericpath.py From jawfish with MIT License | 5 votes |
def isdir(s): """Return true if the pathname refers to an existing directory.""" try: st = os.stat(s) except os.error: return False return stat.S_ISDIR(st.st_mode)
Example #11
Source File: bccache.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def _get_default_cache_dir(self): def _unsafe_dir(): raise RuntimeError('Cannot determine safe temp directory. You ' 'need to explicitly provide one.') tmpdir = tempfile.gettempdir() # On windows the temporary directory is used specific unless # explicitly forced otherwise. We can just use that. if os.name == 'nt': return tmpdir if not hasattr(os, 'getuid'): _unsafe_dir() dirname = '_jinja2-cache-%d' % os.getuid() actual_dir = os.path.join(tmpdir, dirname) try: os.mkdir(actual_dir, stat.S_IRWXU) except OSError as e: if e.errno != errno.EEXIST: raise try: os.chmod(actual_dir, stat.S_IRWXU) actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() except OSError as e: if e.errno != errno.EEXIST: raise actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() return actual_dir
Example #12
Source File: bccache.py From misp42splunk with GNU Lesser General Public License v3.0 | 5 votes |
def _get_default_cache_dir(self): def _unsafe_dir(): raise RuntimeError('Cannot determine safe temp directory. You ' 'need to explicitly provide one.') tmpdir = tempfile.gettempdir() # On windows the temporary directory is used specific unless # explicitly forced otherwise. We can just use that. if os.name == 'nt': return tmpdir if not hasattr(os, 'getuid'): _unsafe_dir() dirname = '_jinja2-cache-%d' % os.getuid() actual_dir = os.path.join(tmpdir, dirname) try: os.mkdir(actual_dir, stat.S_IRWXU) except OSError as e: if e.errno != errno.EEXIST: raise try: os.chmod(actual_dir, stat.S_IRWXU) actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() except OSError as e: if e.errno != errno.EEXIST: raise actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() return actual_dir
Example #13
Source File: local.py From py with MIT License | 5 votes |
def isdir(self): return S_ISDIR(self._osstatresult.st_mode)
Example #14
Source File: local.py From py with MIT License | 5 votes |
def dir(self): return S_ISDIR(self._stat().mode)
Example #15
Source File: bccache.py From recruit with Apache License 2.0 | 5 votes |
def _get_default_cache_dir(self): def _unsafe_dir(): raise RuntimeError('Cannot determine safe temp directory. You ' 'need to explicitly provide one.') tmpdir = tempfile.gettempdir() # On windows the temporary directory is used specific unless # explicitly forced otherwise. We can just use that. if os.name == 'nt': return tmpdir if not hasattr(os, 'getuid'): _unsafe_dir() dirname = '_jinja2-cache-%d' % os.getuid() actual_dir = os.path.join(tmpdir, dirname) try: os.mkdir(actual_dir, stat.S_IRWXU) except OSError as e: if e.errno != errno.EEXIST: raise try: os.chmod(actual_dir, stat.S_IRWXU) actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() except OSError as e: if e.errno != errno.EEXIST: raise actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() return actual_dir
Example #16
Source File: manifest.py From recruit with Apache License 2.0 | 5 votes |
def findall(self): """Find all files under the base and set ``allfiles`` to the absolute pathnames of files found. """ from stat import S_ISREG, S_ISDIR, S_ISLNK self.allfiles = allfiles = [] root = self.base stack = [root] pop = stack.pop push = stack.append while stack: root = pop() names = os.listdir(root) for name in names: fullname = os.path.join(root, name) # Avoid excess stat calls -- just one will do, thank you! stat = os.stat(fullname) mode = stat.st_mode if S_ISREG(mode): allfiles.append(fsdecode(fullname)) elif S_ISDIR(mode) and not S_ISLNK(mode): push(fullname)
Example #17
Source File: types.py From recruit with Apache License 2.0 | 5 votes |
def convert(self, value, param, ctx): rv = value is_dash = self.file_okay and self.allow_dash and rv in (b'-', '-') if not is_dash: if self.resolve_path: rv = os.path.realpath(rv) try: st = os.stat(rv) except OSError: if not self.exists: return self.coerce_path_result(rv) self.fail('%s "%s" does not exist.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if not self.file_okay and stat.S_ISREG(st.st_mode): self.fail('%s "%s" is a file.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if not self.dir_okay and stat.S_ISDIR(st.st_mode): self.fail('%s "%s" is a directory.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if self.writable and not os.access(value, os.W_OK): self.fail('%s "%s" is not writable.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if self.readable and not os.access(value, os.R_OK): self.fail('%s "%s" is not readable.' % ( self.path_type, filename_to_ui(value) ), param, ctx) return self.coerce_path_result(rv)
Example #18
Source File: bccache.py From recruit with Apache License 2.0 | 5 votes |
def _get_default_cache_dir(self): def _unsafe_dir(): raise RuntimeError('Cannot determine safe temp directory. You ' 'need to explicitly provide one.') tmpdir = tempfile.gettempdir() # On windows the temporary directory is used specific unless # explicitly forced otherwise. We can just use that. if os.name == 'nt': return tmpdir if not hasattr(os, 'getuid'): _unsafe_dir() dirname = '_jinja2-cache-%d' % os.getuid() actual_dir = os.path.join(tmpdir, dirname) try: os.mkdir(actual_dir, stat.S_IRWXU) except OSError as e: if e.errno != errno.EEXIST: raise try: os.chmod(actual_dir, stat.S_IRWXU) actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() except OSError as e: if e.errno != errno.EEXIST: raise actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() return actual_dir
Example #19
Source File: SSH.py From im with GNU General Public License v3.0 | 5 votes |
def sftp_walk(self, src, files=None, sftp=None): """ Gets recursively the list of items in a directory from the remote server Arguments: - src: Source directory in the remote server to copy. """ close = False if not sftp: client, proxy = self.connect() transport = client.get_transport() sftp = paramiko.SFTPClient.from_transport(transport) close = True folders = [] if not files: files = [] for f in sftp.listdir_attr(src): if S_ISDIR(f.st_mode): folder = os.path.join(src, f.filename) folders.append(folder) else: filename = os.path.join(src, f.filename) files.append(filename) for folder in folders: self.sftp_walk(folder, files, sftp) if close: sftp.close() transport.close() if proxy: proxy.close() return files
Example #20
Source File: bccache.py From jbox with MIT License | 5 votes |
def _get_default_cache_dir(self): def _unsafe_dir(): raise RuntimeError('Cannot determine safe temp directory. You ' 'need to explicitly provide one.') tmpdir = tempfile.gettempdir() # On windows the temporary directory is used specific unless # explicitly forced otherwise. We can just use that. if os.name == 'nt': return tmpdir if not hasattr(os, 'getuid'): _unsafe_dir() dirname = '_jinja2-cache-%d' % os.getuid() actual_dir = os.path.join(tmpdir, dirname) try: os.mkdir(actual_dir, stat.S_IRWXU) except OSError as e: if e.errno != errno.EEXIST: raise try: os.chmod(actual_dir, stat.S_IRWXU) actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() except OSError as e: if e.errno != errno.EEXIST: raise actual_dir_stat = os.lstat(actual_dir) if actual_dir_stat.st_uid != os.getuid() \ or not stat.S_ISDIR(actual_dir_stat.st_mode) \ or stat.S_IMODE(actual_dir_stat.st_mode) != stat.S_IRWXU: _unsafe_dir() return actual_dir
Example #21
Source File: manifest.py From jbox with MIT License | 5 votes |
def findall(self): """Find all files under the base and set ``allfiles`` to the absolute pathnames of files found. """ from stat import S_ISREG, S_ISDIR, S_ISLNK self.allfiles = allfiles = [] root = self.base stack = [root] pop = stack.pop push = stack.append while stack: root = pop() names = os.listdir(root) for name in names: fullname = os.path.join(root, name) # Avoid excess stat calls -- just one will do, thank you! stat = os.stat(fullname) mode = stat.st_mode if S_ISREG(mode): allfiles.append(fsdecode(fullname)) elif S_ISDIR(mode) and not S_ISLNK(mode): push(fullname)
Example #22
Source File: easy_install.py From jbox with MIT License | 5 votes |
def rmtree(path, ignore_errors=False, onerror=auto_chmod): """Recursively delete a directory tree. This code is taken from the Python 2.4 version of 'shutil', because the 2.3 version doesn't really work right. """ if ignore_errors: def onerror(*args): pass elif onerror is None: def onerror(*args): raise names = [] try: names = os.listdir(path) except os.error: onerror(os.listdir, path, sys.exc_info()) for name in names: fullname = os.path.join(path, name) try: mode = os.lstat(fullname).st_mode except os.error: mode = 0 if stat.S_ISDIR(mode): rmtree(fullname, ignore_errors, onerror) else: try: os.remove(fullname) except os.error: onerror(os.remove, fullname, sys.exc_info()) try: os.rmdir(path) except os.error: onerror(os.rmdir, path, sys.exc_info())
Example #23
Source File: types.py From jbox with MIT License | 5 votes |
def convert(self, value, param, ctx): rv = value is_dash = self.file_okay and self.allow_dash and rv in (b'-', '-') if not is_dash: if self.resolve_path: rv = os.path.realpath(rv) try: st = os.stat(rv) except OSError: if not self.exists: return self.coerce_path_result(rv) self.fail('%s "%s" does not exist.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if not self.file_okay and stat.S_ISREG(st.st_mode): self.fail('%s "%s" is a file.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if not self.dir_okay and stat.S_ISDIR(st.st_mode): self.fail('%s "%s" is a directory.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if self.writable and not os.access(value, os.W_OK): self.fail('%s "%s" is not writable.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if self.readable and not os.access(value, os.R_OK): self.fail('%s "%s" is not readable.' % ( self.path_type, filename_to_ui(value) ), param, ctx) return self.coerce_path_result(rv)
Example #24
Source File: common.py From rekall with GNU General Public License v2.0 | 5 votes |
def is_dir(self): return stat.S_ISDIR(self.value)
Example #25
Source File: ssh_paramiko.py From omniduct with MIT License | 5 votes |
def _isdir(self, path): try: return stat.S_ISDIR(self.__client_sftp.stat(path).st_mode) except FileNotFoundError: return False
Example #26
Source File: ssh_paramiko.py From omniduct with MIT License | 5 votes |
def _isfile(self, path): try: return not stat.S_ISDIR(self.__client_sftp.stat(path).st_mode) except FileNotFoundError: return False # Directory handling and enumeration
Example #27
Source File: ssh_paramiko.py From omniduct with MIT License | 5 votes |
def _dir(self, path): for attrs in self.__client_sftp.listdir_attr(path): yield FileSystemFileDesc( fs=self, path=posixpath.join(path, attrs.filename), name=attrs.filename, type='directory' if stat.S_ISDIR(attrs.st_mode) else 'file', # TODO: What about links, which are of form: lrwxrwxrwx? bytes=attrs.st_size, owner=attrs.st_uid, group=attrs.st_gid, last_modified=attrs.st_mtime, )
Example #28
Source File: types.py From pcocc with GNU General Public License v3.0 | 5 votes |
def convert(self, value, param, ctx): rv = value if self.resolve_path: rv = os.path.realpath(rv) try: st = os.stat(rv) except OSError: if not self.exists: return rv self.fail('%s "%s" does not exist.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if not self.file_okay and stat.S_ISREG(st.st_mode): self.fail('%s "%s" is a file.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if not self.dir_okay and stat.S_ISDIR(st.st_mode): self.fail('%s "%s" is a directory.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if self.writable and not os.access(value, os.W_OK): self.fail('%s "%s" is not writable.' % ( self.path_type, filename_to_ui(value) ), param, ctx) if self.readable and not os.access(value, os.R_OK): self.fail('%s "%s" is not readable.' % ( self.path_type, filename_to_ui(value) ), param, ctx) return rv
Example #29
Source File: config.py From ivre with GNU General Public License v3.0 | 5 votes |
def guess_prefix(directory=None): """Attempts to find the base directory where IVRE components are installed. """ def check_candidate(path, directory=None): """Auxiliary function that checks whether a particular path is a good candidate. """ candidate = os.path.join(path, 'share', 'ivre') if directory is not None: candidate = os.path.join(candidate, directory) try: if stat.S_ISDIR(os.stat(candidate).st_mode): return candidate except OSError: pass return None if __file__.startswith('/'): path = '/' # absolute path for elt in __file__.split(os.path.sep)[1:]: if elt in ['lib', 'lib32', 'lib64']: candidate = check_candidate(path, directory=directory) if candidate is not None: return candidate path = os.path.join(path, elt) for path in ['/usr', '/usr/local', '/opt', '/opt/ivre']: candidate = check_candidate(path, directory=directory) if candidate is not None: return candidate return None
Example #30
Source File: local.py From python-netsurv with MIT License | 5 votes |
def isdir(self): return S_ISDIR(self._osstatresult.st_mode)