Package distutils :: Module filelist :: Class FileList
[hide private]
[frames] | no frames]

_ClassType FileList

A list of files built by on exploring the filesystem and filtered by
applying various patterns to what we find there.

Instance attributes:
  dir
    directory from which files will be taken -- only used if
    'allfiles' not supplied to constructor
  files
    list of filenames currently being built/filtered/manipulated
  allfiles
    complete list of files under consideration (ie. without any
    filtering applied)

Instance Methods [hide private]
 
__init__(self, warn=None, debug_print=None)
 
set_allfiles(self, allfiles)
 
findall(self, dir='.')
 
debug_print(self, msg)
Print 'msg' to stdout if the global DEBUG (taken from the DISTUTILS_DEBUG environment variable) flag is true.
 
append(self, item)
 
extend(self, items)
 
sort(self)
 
remove_duplicates(self)
 
_parse_template_line(self, line)
 
process_template_line(self, line)
 
include_pattern(self, pattern, anchor=1, prefix=None, is_regex=0)
Select strings (presumably filenames) from 'self.files' that match 'pattern', a Unix-style wildcard (glob) pattern.
 
exclude_pattern(self, pattern, anchor=1, prefix=None, is_regex=0)
Remove strings (presumably filenames) from 'files' that match 'pattern'.
Method Details [hide private]

include_pattern(self, pattern, anchor=1, prefix=None, is_regex=0)

 

Select strings (presumably filenames) from 'self.files' that match 'pattern', a Unix-style wildcard (glob) pattern. Patterns are not quite the same as implemented by the 'fnmatch' module: '*' and '?' match non-special characters, where "special" is platform- dependent: slash on Unix; colon, slash, and backslash on DOS/Windows; and colon on Mac OS.

If 'anchor' is true (the default), then the pattern match is more stringent: "*.py" will match "foo.py" but not "foo/bar.py". If 'anchor' is false, both of these will match.

If 'prefix' is supplied, then only filenames starting with 'prefix' (itself a pattern) and ending with 'pattern', with anything in between them, will match. 'anchor' is ignored in this case.

If 'is_regex' is true, 'anchor' and 'prefix' are ignored, and 'pattern' is assumed to be either a string containing a regex or a regex object -- no translation is done, the regex is just compiled and used as-is.

Selected strings will be added to self.files.

Return 1 if files are found.

exclude_pattern(self, pattern, anchor=1, prefix=None, is_regex=0)

 

Remove strings (presumably filenames) from 'files' that match 'pattern'. Other parameters are the same as for 'include_pattern()', above. The list 'self.files' is modified in place. Return 1 if files are found.