13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
17
"""Python implementation of readdir interface."""
24
"""Like os.listdir, this reads the contents of a directory.
26
There is a C module which is recommended which will return
27
a sort key in the first element of the tuple to allow slightly
28
more efficient behaviour on the operating systems part.
30
:param path: the directory to list.
31
:return: a list of (None, basename) tuples.
24
_directory = 'directory'
34
stat.S_IFDIR:'directory',
35
stat.S_IFCHR:'chardev',
39
stat.S_IFLNK:'symlink',
40
stat.S_IFSOCK:'socket',
44
def _kind_from_mode(stat_mode, _formats=_formats, _unknown='unknown'):
45
"""Generate a file kind from a stat mode. This is used in walkdirs.
47
It's performance is critical: Do not mutate without careful benchmarking.
33
return [(None, name) for name in os.listdir(path)]
50
return _formats[stat_mode & 0170000]