| 
									
										
										
										
											1999-06-17 15:11:35 +00:00
										 |  |  | \section{\module{dircache} --- | 
					
						
							|  |  |  |          Cached directory listings} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \declaremodule{standard}{dircache} | 
					
						
							| 
									
										
										
										
											2000-12-01 15:25:23 +00:00
										 |  |  | \sectionauthor{Moshe Zadka}{moshez@zadka.site.co.il} | 
					
						
							| 
									
										
										
										
											1999-06-17 15:11:35 +00:00
										 |  |  | \modulesynopsis{Return directory listing, with cache mechanism.} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The \module{dircache} module defines a function for reading directory listing | 
					
						
							|  |  |  | using a cache, and cache invalidation using the \var{mtime} of the directory. | 
					
						
							|  |  |  | Additionally, it defines a function to annotate directories by appending | 
					
						
							|  |  |  | a slash. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The \module{dircache} module defines the following functions: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{listdir}{path} | 
					
						
							|  |  |  | Return a directory listing of \var{path}, as gotten from | 
					
						
							|  |  |  | \function{os.listdir()}. Note that unless \var{path} changes, further call | 
					
						
							|  |  |  | to \function{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?) | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{opendir}{path} | 
					
						
							| 
									
										
										
										
											2000-07-16 19:01:10 +00:00
										 |  |  | Same as \function{listdir()}. Defined for backwards compatibility. | 
					
						
							| 
									
										
										
										
											1999-06-17 15:11:35 +00:00
										 |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{funcdesc}{annotate}{head, list} | 
					
						
							| 
									
										
										
										
											1999-10-29 17:51:29 +00:00
										 |  |  | Assume \var{list} is a list of paths relative to \var{head}, and append, | 
					
						
							| 
									
										
										
										
											1999-06-17 15:11:35 +00:00
										 |  |  | in place, a \character{/} to each path which points to a directory. | 
					
						
							|  |  |  | \end{funcdesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{verbatim} | 
					
						
							|  |  |  | >>> 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'] | 
					
						
							|  |  |  | \end{verbatim} |