##// END OF EJS Templates
hgweb: descend empty directories in web view...
hgweb: descend empty directories in web view When a manifest has a series of directories with nothing in them but a single directory, displaying the entire chain of empty directories allows for navigation down to the first non-empty directory with a single click. Because Java links package hierarchy to directory hierarchy, and because Java conventions include at least three empty directories at the top of this hierarchy, descending down empty directories is very common in Java web tools.

File last commit:

r7301:00d76fa3 default
r7305:c21d236c default
Show More
osutil.py
42 lines | 1.2 KiB | text/x-python | PythonLexer
Benoit Boissinot
fix conflicting variables when no native osutil is available...
r7057 import os
import stat as _stat
Bryan O'Sullivan
Add osutil module, containing a listdir function....
r5396
def _mode_to_kind(mode):
Benoit Boissinot
fix conflicting variables when no native osutil is available...
r7057 if _stat.S_ISREG(mode): return _stat.S_IFREG
if _stat.S_ISDIR(mode): return _stat.S_IFDIR
if _stat.S_ISLNK(mode): return _stat.S_IFLNK
if _stat.S_ISBLK(mode): return _stat.S_IFBLK
if _stat.S_ISCHR(mode): return _stat.S_IFCHR
if _stat.S_ISFIFO(mode): return _stat.S_IFIFO
if _stat.S_ISSOCK(mode): return _stat.S_IFSOCK
Bryan O'Sullivan
Add osutil module, containing a listdir function....
r5396 return mode
Matt Mackall
listdir: add support for aborting if a certain path is found...
r7034 def listdir(path, stat=False, skip=None):
Bryan O'Sullivan
Add osutil module, containing a listdir function....
r5396 '''listdir(path, stat=False) -> list_of_tuples
Return a sorted list containing information about the entries
in the directory.
If stat is True, each element is a 3-tuple:
(name, type, stat object)
Otherwise, each element is a 2-tuple:
(name, type)
'''
result = []
Patrick Mezard
Fix util._statfiles_clustered() failing at root of a windows drive...
r7301 prefix = path
if not prefix.endswith(os.sep):
prefix += os.sep
Bryan O'Sullivan
Add osutil module, containing a listdir function....
r5396 names = os.listdir(path)
names.sort()
for fn in names:
st = os.lstat(prefix + fn)
Benoit Boissinot
fix conflicting variables when no native osutil is available...
r7057 if fn == skip and _stat.S_ISDIR(st.st_mode):
Matt Mackall
listdir: add support for aborting if a certain path is found...
r7034 return []
Bryan O'Sullivan
Add osutil module, containing a listdir function....
r5396 if stat:
result.append((fn, _mode_to_kind(st.st_mode), st))
else:
result.append((fn, _mode_to_kind(st.st_mode)))
return result