1999-06-17 12:11:35 -03:00
|
|
|
\section{\module{statcache} ---
|
|
|
|
An optimization of \function{os.stat()}}
|
|
|
|
|
|
|
|
\declaremodule{standard}{statcache}
|
2000-12-01 11:25:23 -04:00
|
|
|
\sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il}
|
1999-06-17 12:11:35 -03:00
|
|
|
\modulesynopsis{Stat files, and remember results.}
|
|
|
|
|
2001-11-02 16:20:19 -04:00
|
|
|
|
|
|
|
\deprecated{2.2}{Use \function{\refmodule{os}.stat()} directly instead
|
|
|
|
of using the cache; the cache introduces a very high level of
|
|
|
|
fragility in applications using it and complicates application code
|
|
|
|
with the addition of cache management support.}
|
|
|
|
|
1999-06-17 12:11:35 -03:00
|
|
|
The \module{statcache} module provides a simple optimization to
|
|
|
|
\function{os.stat()}: remembering the values of previous invocations.
|
|
|
|
|
|
|
|
The \module{statcache} module defines the following functions:
|
|
|
|
|
|
|
|
\begin{funcdesc}{stat}{path}
|
|
|
|
This is the main module entry-point.
|
|
|
|
Identical for \function{os.stat()}, except for remembering the result
|
|
|
|
for future invocations of the function.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
The rest of the functions are used to clear the cache, or parts of
|
|
|
|
it.
|
|
|
|
|
|
|
|
\begin{funcdesc}{reset}{}
|
1999-06-17 14:09:23 -03:00
|
|
|
Clear the cache: forget all results of previous \function{stat()}
|
|
|
|
calls.
|
1999-06-17 12:11:35 -03:00
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{forget}{path}
|
|
|
|
Forget the result of \code{stat(\var{path})}, if any.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{forget_prefix}{prefix}
|
|
|
|
Forget all results of \code{stat(\var{path})} for \var{path} starting
|
|
|
|
with \var{prefix}.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{forget_dir}{prefix}
|
1999-06-17 14:09:23 -03:00
|
|
|
Forget all results of \code{stat(\var{path})} for \var{path} a file in
|
1999-06-17 12:11:35 -03:00
|
|
|
the directory \var{prefix}, including \code{stat(\var{prefix})}.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
\begin{funcdesc}{forget_except_prefix}{prefix}
|
1999-06-17 14:09:23 -03:00
|
|
|
Similar to \function{forget_prefix()}, but for all \var{path} values
|
1999-06-17 12:11:35 -03:00
|
|
|
\emph{not} starting with \var{prefix}.
|
|
|
|
\end{funcdesc}
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
\begin{verbatim}
|
|
|
|
>>> import os, statcache
|
|
|
|
>>> statcache.stat('.')
|
|
|
|
(16893, 2049, 772, 18, 1000, 1000, 2048, 929609777, 929609777, 929609777)
|
|
|
|
>>> os.stat('.')
|
|
|
|
(16893, 2049, 772, 18, 1000, 1000, 2048, 929609777, 929609777, 929609777)
|
|
|
|
\end{verbatim}
|