# HG changeset patch # User Martin Geisler # Date 2009-01-23 23:13:49 # Node ID 30d1d313370b28ffbba4d3412d1b24077ee857bb # Parent 9044d3567f6d33a5472778be0026a3caa51a9b06 move mercurial.osutil to mercurial.pure.osutil diff --git a/mercurial/osutil.py b/mercurial/osutil.py deleted file mode 100644 --- a/mercurial/osutil.py +++ /dev/null @@ -1,42 +0,0 @@ -import os -import stat as _stat - -def _mode_to_kind(mode): - 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 - return mode - -def listdir(path, stat=False, skip=None): - '''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 = [] - prefix = path - if not prefix.endswith(os.sep): - prefix += os.sep - names = os.listdir(path) - names.sort() - for fn in names: - st = os.lstat(prefix + fn) - if fn == skip and _stat.S_ISDIR(st.st_mode): - return [] - if stat: - result.append((fn, _mode_to_kind(st.st_mode), st)) - else: - result.append((fn, _mode_to_kind(st.st_mode))) - return result diff --git a/mercurial/pure/osutil.py b/mercurial/pure/osutil.py new file mode 100644 --- /dev/null +++ b/mercurial/pure/osutil.py @@ -0,0 +1,42 @@ +import os +import stat as _stat + +def _mode_to_kind(mode): + 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 + return mode + +def listdir(path, stat=False, skip=None): + '''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 = [] + prefix = path + if not prefix.endswith(os.sep): + prefix += os.sep + names = os.listdir(path) + names.sort() + for fn in names: + st = os.lstat(prefix + fn) + if fn == skip and _stat.S_ISDIR(st.st_mode): + return [] + if stat: + result.append((fn, _mode_to_kind(st.st_mode), st)) + else: + result.append((fn, _mode_to_kind(st.st_mode))) + return result