# Module `pl.dir`

does the filename match the shell pattern?.

(cf. fnmatch.fnmatch in Python, 11.8)

## Functions

filter (files, pattern) | return a list of all files which match the pattern.
getfiles (dir, mask) | return a list of all files in a directory which match the a shell pattern.
getdirectories (dir) | return a list of all subdirectories of the directory.
copyfile (src, dest, flag) | copy a file.
movefile (src, dest) | move a file.
walk (root, bottom_up, follow_links) | return an iterator which walks through a directory tree starting at root.
rmtree (fullpath) | remove a whole directory tree.
makepath (p) | create a directory path.
clonetree (path1, path2, file_fun, verbose) | clone a directory tree.
dirtree (d) | return an iterator over all entries in a directory tree
getallfiles (start_path, pattern) | Recursively returns all the file starting at _path_.

## Functions

filter (files, pattern)
  return a list of all files which match the pattern. (cf. fnmatch.filter in Python, 11.8)

  ### Parameters:

  - files string A table containing file names
  - pattern string A shell pattern.

  ### Returns:

  List(string) list of files

  ### Raises:

  file and pattern must be strings
getfiles (dir, mask)
  return a list of all files in a directory which match the a shell pattern.

  ### Parameters:

  - dir string A directory. If not given, all files in current directory are returned.
  - mask string A shell pattern. If not given, all files are returned.

  ### Returns:

  {string} list of files

  ### Raises:

  dir and mask must be strings
getdirectories (dir)
  return a list of all subdirectories of the directory.

  ### Parameters:

  - dir string A directory

  ### Returns:

  {string} a list of directories

  ### Raises:

  dir must be a a valid directory
copyfile (src, dest, flag)
  copy a file.

  ### Parameters:

  - src string source file
  - dest string destination file or directory
  - flag bool true if you want to force the copy (default)

  ### Returns:

  bool operation succeeded

  ### Raises:

  src and dest must be strings
movefile (src, dest)
  move a file.

  ### Parameters:

  - src string source file
  - dest string destination file or directory

  ### Returns:

  bool operation succeeded

  ### Raises:

  src and dest must be strings
walk (root, bottom_up, follow_links)
  return an iterator which walks through a directory tree starting at root. The iterator returns (root,dirs,files) Note that dirs and files are lists of names (i.e. you must say path.join(root,d) to get the actual full path) If bottom_up is false (or not present), then the entries at the current level are returned before we go deeper. This means that you can modify the returned list of directories before continuing. This is a clone of os.walk from the Python libraries.

  ### Parameters:

  - root string A starting directory
  - bottom_up bool False if we start listing entries immediately.
  - follow_links bool follow symbolic links

  ### Returns:

  an iterator returning root,dirs,files

  ### Raises:

  root must be a directory
rmtree (fullpath)
  remove a whole directory tree.

  ### Parameters:

  - fullpath string A directory path

  ### Returns:

  1. true or nil
  2. error if failed

  ### Raises:

  fullpath must be a string
makepath (p)
  create a directory path. This will create subdirectories as necessary!

  ### Parameters:

  - p string A directory path

  ### Returns:

  true on success, nil + errormsg on failure

  ### Raises:

  failure to create
clonetree (path1, path2, file_fun, verbose)
  clone a directory tree. Will always try to create a new directory structure if necessary.

  ### Parameters:

  - path1 string the base path of the source tree
  - path2 string the new base path for the destination
  - file_fun func an optional function to apply on all files
  - verbose bool an optional boolean to control the verbosity of the output. It can also be a logging function that behaves like print()

  ### Returns:

  1. true, or nil
  2. error message, or list of failed directory creations
  3. list of failed file operations

  ### Raises:

  path1 and path2 must be strings

  ### Usage:

      clonetree('.','../backup',copyfile)

dirtree (d)
  return an iterator over all entries in a directory tree

  ### Parameters:

  - d string a directory

  ### Returns:

  an iterator giving pathname and mode (true for dir, false otherwise)

  ### Raises:

  d must be a non-empty string
getallfiles (start_path, pattern)
  Recursively returns all the file starting at _path_. It can optionally take a shell pattern and only returns files that match _pattern_. If a pattern is given it will do a case insensitive search.

  ### Parameters:

  - start_path string A directory. If not given, all files in current directory are returned.
  - pattern string A shell pattern. If not given, all files are returned.

  ### Returns:

  List(string) containing all the files found recursively starting at _path_ and filtered by _pattern_.

  ### Raises:

  start_path must be a directory

generated by LDoc 1.4.3 Last updated Tue, 18 Aug 2015 11:21:53 +0200