Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
f4fd9934
Commit
f4fd9934
authored
May 10, 2008
by
Brett Cannon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove the dircache module.
parent
7ecf3dca
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
3 additions
and
170 deletions
+3
-170
Doc/library/dircache.rst
Doc/library/dircache.rst
+0
-56
Doc/library/filesys.rst
Doc/library/filesys.rst
+0
-1
Lib/dircache.py
Lib/dircache.py
+0
-38
Lib/test/regrtest.py
Lib/test/regrtest.py
+1
-2
Lib/test/test_dircache.py
Lib/test/test_dircache.py
+0
-73
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Doc/library/dircache.rst
deleted
100644 → 0
View file @
7ecf3dca
:mod:`dircache` --- Cached directory listings
=============================================
.. module:: dircache
:synopsis: Return directory listing, with cache mechanism.
.. sectionauthor:: Moshe Zadka <moshez@zadka.site.co.il>
The :mod:`dircache` module defines a function for reading directory listing
using a cache, and cache invalidation using the *mtime* of the directory.
Additionally, it defines a function to annotate directories by appending a
slash.
The :mod:`dircache` module defines the following functions:
.. function:: reset()
Resets the directory cache.
.. function:: listdir(path)
Return a directory listing of *path*, as gotten from :func:`os.listdir`. Note
that unless *path* changes, further call to :func:`listdir` will not re-read the
directory structure.
Note that the list returned should be regarded as read-only. (Perhaps a future
version should change it to return a tuple?)
.. function:: opendir(path)
Same as :func:`listdir`. Defined for backwards compatibility.
.. function:: annotate(head, list)
Assume *list* is a list of paths relative to *head*, and append, in place, a
``'/'`` to each path which points to a directory.
::
>>> import dircache
>>> a = dircache.listdir('/')
>>> a = a[:] # Copy the return value so we can change 'a'
>>> a
['bin', 'boot', 'cdrom', 'dev', 'etc', 'floppy', 'home', 'initrd', 'lib', 'lost+
found', 'mnt', 'proc', 'root', 'sbin', 'tmp', 'usr', 'var', 'vmlinuz']
>>> dircache.annotate('/', a)
>>> a
['bin/', 'boot/', 'cdrom/', 'dev/', 'etc/', 'floppy/', 'home/', 'initrd/', 'lib/
', 'lost+found/', 'mnt/', 'proc/', 'root/', 'sbin/', 'tmp/', 'usr/', 'var/', 'vm
linuz']
Doc/library/filesys.rst
View file @
f4fd9934
...
...
@@ -23,7 +23,6 @@ in this chapter is:
fnmatch.rst
linecache.rst
shutil.rst
dircache.rst
macpath.rst
...
...
Lib/dircache.py
deleted
100644 → 0
View file @
7ecf3dca
"""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
]
+
'/'
Lib/test/regrtest.py
View file @
f4fd9934
...
...
@@ -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
()
...
...
Lib/test/test_dircache.py
deleted
100644 → 0
View file @
7ecf3dca
"""
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
()
Misc/NEWS
View file @
f4fd9934
...
...
@@ -21,6 +21,8 @@ Extension Modules
Library
-------
- The dircache module has been removed.
- The Canvas module has been removed.
- The Decimal module gained the magic methods __round__, __ceil__,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment