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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
17
"""Python implementation of readdir interface."""
23
_directory = 'directory'
33
stat.S_IFDIR:'directory',
34
stat.S_IFCHR:'chardev',
38
stat.S_IFLNK:'symlink',
39
stat.S_IFSOCK:'socket',
43
def _kind_from_mode(stat_mode, _formats=_formats, _unknown='unknown'):
44
"""Generate a file kind from a stat mode. This is used in walkdirs.
46
It's performance is critical: Do not mutate without careful benchmarking.
24
"""Like os.listdir, this reads a directories contents.
26
There is a C module which is recommended which will return
27
a file kind in the second element of the returned tuples.
29
:param path: the directory to list.
30
:return: a list of (basename, None) tuples.
49
return _formats[stat_mode & 0170000]
32
return [(name, 'unknown') for name in os.listdir(path)]