diff options
author | Brett Cannon <bcannon@gmail.com> | 2008-05-10 21:11:46 (GMT) |
---|---|---|
committer | Brett Cannon <bcannon@gmail.com> | 2008-05-10 21:11:46 (GMT) |
commit | f4fd99344a9c18c1aaee2f1840907e4a38576edd (patch) | |
tree | 1226807b9e4bf901a4d19819cef15b9bfadb21fa /Lib | |
parent | 7ecf3dcaeec4c0561fa2a952b08c259f3a542587 (diff) | |
download | cpython-f4fd99344a9c18c1aaee2f1840907e4a38576edd.zip cpython-f4fd99344a9c18c1aaee2f1840907e4a38576edd.tar.gz cpython-f4fd99344a9c18c1aaee2f1840907e4a38576edd.tar.bz2 |
Remove the dircache module.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/dircache.py | 38 | ||||
-rwxr-xr-x | Lib/test/regrtest.py | 3 | ||||
-rw-r--r-- | Lib/test/test_dircache.py | 73 |
3 files changed, 1 insertions, 113 deletions
diff --git a/Lib/dircache.py b/Lib/dircache.py deleted file mode 100644 index 78ec7fe..0000000 --- a/Lib/dircache.py +++ /dev/null @@ -1,38 +0,0 @@ -"""Read and cache directory listings. - -The listdir() routine returns a sorted list of the files in a directory, -using a cache to avoid reading the directory more often than necessary. -The annotate() routine appends slashes to directories.""" - -import os - -__all__ = ["listdir", "opendir", "annotate", "reset"] - -cache = {} - -def reset(): - """Reset the cache completely.""" - global cache - cache = {} - -def listdir(path): - """List directory contents, using cache.""" - try: - cached_mtime, list = cache[path] - del cache[path] - except KeyError: - cached_mtime, list = -1, [] - mtime = os.stat(path).st_mtime - if mtime != cached_mtime: - list = os.listdir(path) - list.sort() - cache[path] = mtime, list - return list - -opendir = listdir # XXX backward compatibility - -def annotate(head, list): - """Add '/' suffixes to directories.""" - for i in range(len(list)): - if os.path.isdir(os.path.join(head, list[i])): - list[i] = list[i] + '/' diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py index 675cea3..bbc81bc 100755 --- a/Lib/test/regrtest.py +++ b/Lib/test/regrtest.py @@ -725,7 +725,7 @@ def dash_R(the_module, test, indirect_test, huntrleaks): def dash_R_cleanup(fs, ps, pic, abcs): import gc, copy_reg - import _strptime, linecache, dircache + import _strptime, linecache import urlparse, urllib, urllib2, mimetypes, doctest import struct, filecmp, _abcoll from distutils.dir_util import _path_created @@ -762,7 +762,6 @@ def dash_R_cleanup(fs, ps, pic, abcs): urlparse.clear_cache() urllib.urlcleanup() urllib2.install_opener(None) - dircache.reset() linecache.clearcache() mimetypes._default_mime_types() filecmp._cache.clear() diff --git a/Lib/test/test_dircache.py b/Lib/test/test_dircache.py deleted file mode 100644 index 68f6fc2..0000000 --- a/Lib/test/test_dircache.py +++ /dev/null @@ -1,73 +0,0 @@ -""" - Test cases for the dircache module - Nick Mathewson -""" - -import unittest -from test.test_support import run_unittest, TESTFN -import dircache, os, time, sys, tempfile - - -class DircacheTests(unittest.TestCase): - def setUp(self): - self.tempdir = tempfile.mkdtemp() - - def tearDown(self): - for fname in os.listdir(self.tempdir): - self.delTemp(fname) - os.rmdir(self.tempdir) - - def writeTemp(self, fname): - f = open(os.path.join(self.tempdir, fname), 'w') - f.close() - - def mkdirTemp(self, fname): - os.mkdir(os.path.join(self.tempdir, fname)) - - def delTemp(self, fname): - fname = os.path.join(self.tempdir, fname) - if os.path.isdir(fname): - os.rmdir(fname) - else: - os.unlink(fname) - - def test_listdir(self): - ## SUCCESSFUL CASES - entries = dircache.listdir(self.tempdir) - self.assertEquals(entries, []) - - # Check that cache is actually caching, not just passing through. - self.assert_(dircache.listdir(self.tempdir) is entries) - - # Directories aren't "files" on Windows, and directory mtime has - # nothing to do with when files under a directory get created. - # That is, this test can't possibly work under Windows -- dircache - # is only good for capturing a one-shot snapshot there. - - if sys.platform[:3] not in ('win', 'os2'): - # Sadly, dircache has the same granularity as stat.mtime, and so - # can't notice any changes that occurred within 1 sec of the last - # time it examined a directory. - time.sleep(1) - self.writeTemp("test1") - entries = dircache.listdir(self.tempdir) - self.assertEquals(entries, ['test1']) - self.assert_(dircache.listdir(self.tempdir) is entries) - - ## UNSUCCESSFUL CASES - self.assertRaises(OSError, dircache.listdir, self.tempdir+"_nonexistent") - - def test_annotate(self): - self.writeTemp("test2") - self.mkdirTemp("A") - lst = ['A', 'test2', 'test_nonexistent'] - dircache.annotate(self.tempdir, lst) - self.assertEquals(lst, ['A/', 'test2', 'test_nonexistent']) - - -def test_main(): - run_unittest(DircacheTests) - - -if __name__ == "__main__": - test_main() |