Provided by: python3-pathtools_0.1.2-6_all bug

NAME

       pathtools - pathtools Documentation

       Python API library for common path and pattern functionality.

EASY INSTALLATION

       You can use pip to install pathtools quickly and easily:

          $ pip install pathtools

API REFERENCE

   pathtools.path
       module pathtools.path

       synopsis
              Directory walking, listing, and path sanitizing functions.

       author Yesudeep Mangalapilly <yesudeep@gmail.com>

   Functions
       pathtools.path.get_dir_walker(recursive, topdown=True, followlinks=False)
              Returns a recursive or a non-recursive directory walker.

              Parameters
                     recursive   --   True   produces   a  recursive  walker;  False  produces  a
                     non-recursive walker.

              Returns
                     A walker function.

       pathtools.path.walk(dir_pathname, recursive=True, topdown=True, followlinks=False)
              Walks a directory tree optionally recursively. Works exactly  like  os.walk()  only
              adding the recursive argument.

              Parametersdir_pathname -- The directory to traverse.

                     • recursive  --  True  for  walking  recursively through the directory tree;
                       False otherwise.

                     • topdown -- Please see the documentation for os.walk()followlinks -- Please see the documentation for os.walk()

       pathtools.path.listdir(dir_pathname, recursive=True, topdown=True, followlinks=False)
              Enlists  all  items  using  their  absolute  paths  in  a   directory,   optionally
              recursively.

              Parametersdir_pathname -- The directory to traverse.

                     • recursive  --  True  for  walking  recursively through the directory tree;
                       False otherwise.

                     • topdown -- Please see the documentation for os.walk()followlinks -- Please see the documentation for os.walk()

       pathtools.path.list_directories(dir_pathname,        recursive=True,         topdown=True,
       followlinks=False)
              Enlists  all  the  directories  using  their  absolute  paths  within the specified
              directory, optionally recursively.

              Parametersdir_pathname -- The directory to traverse.

                     • recursive -- True for walking  recursively  through  the  directory  tree;
                       False otherwise.

                     • topdown -- Please see the documentation for os.walk()followlinks -- Please see the documentation for os.walk()

       pathtools.path.list_files(dir_pathname, recursive=True, topdown=True, followlinks=False)
              Enlists  all  the  files using their absolute paths within the specified directory,
              optionally recursively.

              Parametersdir_pathname -- The directory to traverse.

                     • recursive -- True for walking  recursively  through  the  directory  tree;
                       False otherwise.

                     • topdown -- Please see the documentation for os.walk()followlinks -- Please see the documentation for os.walk()

       pathtools.path.absolute_path(path)
              Returns the absolute path for the given path and normalizes the path.

              Parameters
                     path -- Path for which the absolute normalized path will be found.

              Returns
                     Absolute normalized path.

       pathtools.path.real_absolute_path(path)
              Returns the real absolute normalized path for the given path.

              Parameters
                     path -- Path for which the real absolute normalized path will be found.

              Returns
                     Real absolute normalized path.

       pathtools.path.parent_dir_path(path)
              Returns the parent directory path.

              Parameters
                     path -- Path for which the parent directory will be obtained.

              Returns
                     Parent directory path.

   pathtools.patterns
       module pathtools.patterns

       synopsis
              Wildcard pattern matching and filtering functions for paths.

       author Yesudeep Mangalapilly <yesudeep@gmail.com>

   Functions
       pathtools.patterns.match_path(pathname,   included_patterns=None,  excluded_patterns=None,
       case_sensitive=True)
              Matches a pathname against a set of acceptable and ignored patterns.

              Parameterspathname -- A pathname which will be matched against a pattern.

                     • included_patterns -- Allow filenames matching wildcard patterns  specified
                       in  this  list.   If  no  pattern  is  specified,  the function treats the
                       pathname as a match_path.

                     • excluded_patterns  --  Ignores  filenames   matching   wildcard   patterns
                       specified  in  this list.  If no pattern is specified, the function treats
                       the pathname as a match_path.

                     • case_sensitive  --  True  if  matching  should  be  case-sensitive;  False
                       otherwise.

              Returns
                     True if the pathname matches; False otherwise.

              Raises ValueError  if  included  patterns  and  excluded  patterns contain the same
                     pattern.

              Doctests::

                     >>> match_path("/Users/gorakhargosh/foobar.py")
                     True
                     >>> match_path("/Users/gorakhargosh/foobar.py", case_sensitive=False)
                     True
                     >>> match_path("/users/gorakhargosh/foobar.py", ["*.py"], ["*.PY"], True)
                     True
                     >>> match_path("/users/gorakhargosh/FOOBAR.PY", ["*.py"], ["*.PY"], True)
                     False
                     >>> match_path("/users/gorakhargosh/foobar/", ["*.py"], ["*.txt"], False)
                     False
                     >>> match_path("/users/gorakhargosh/FOOBAR.PY", ["*.py"], ["*.PY"], False)
                     Traceback (most recent call last):
                         ...
                     ValueError: conflicting patterns `set(['*.py'])` included and excluded

       pathtools.patterns.match_path_against(pathname, patterns, case_sensitive=True)
              Determines whether the  pathname  matches  any  of  the  given  wildcard  patterns,
              optionally ignoring the case of the pathname and patterns.

              Parameterspathname -- A path name that will be matched against a wildcard pattern.

                     • patterns  --  A  list  of  wildcard  patterns  to  match_path the filename
                       against.

                     • case_sensitive -- True if the matching  should  be  case-sensitive;  False
                       otherwise.

              Returns
                     True if the pattern matches; False otherwise.

              Doctests::

                     >>> match_path_against("/home/username/foobar/blah.py", ["*.py", "*.txt"], False)
                     True
                     >>> match_path_against("/home/username/foobar/blah.py", ["*.PY", "*.txt"], True)
                     False
                     >>> match_path_against("/home/username/foobar/blah.py", ["*.PY", "*.txt"], False)
                     True
                     >>> match_path_against("C:\windows\blah\BLAH.PY", ["*.py", "*.txt"], True)
                     False
                     >>> match_path_against("C:\windows\blah\BLAH.PY", ["*.py", "*.txt"], False)
                     True

       pathtools.patterns.filter_paths(pathnames, included_patterns=None, excluded_patterns=None,
       case_sensitive=True)
              Filters from a set of paths based on acceptable patterns and ignorable patterns.

              Parameterspathnames -- A list of path names that will be filtered based on  matching
                       and ignored patterns.

                     • included_patterns  -- Allow filenames matching wildcard patterns specified
                       in this list.  If no pattern list is  specified,  ["*"]  is  used  as  the
                       default pattern, which matches all files.

                     • excluded_patterns   --   Ignores   filenames  matching  wildcard  patterns
                       specified in this list.  If no pattern list is  specified,  no  files  are
                       ignored.

                     • case_sensitive  --  True  if  matching  should  be  case-sensitive;  False
                       otherwise.

              Returns
                     A list of pathnames that matched the allowable patterns and  passed  through
                     the ignored patterns.

              Doctests::

                     >>> pathnames = set(["/users/gorakhargosh/foobar.py", "/var/cache/pdnsd.status", "/etc/pdnsd.conf", "/usr/local/bin/python"])
                     >>> set(filter_paths(pathnames)) == pathnames
                     True
                     >>> set(filter_paths(pathnames, case_sensitive=False)) == pathnames
                     True
                     >>> set(filter_paths(pathnames, ["*.py", "*.conf"], ["*.status"], case_sensitive=True)) == set(["/users/gorakhargosh/foobar.py", "/etc/pdnsd.conf"])
                     True

       Found  a  bug  in  or  want  a feature added to pathtools?  You can fork the official code
       repository or file an issue ticket at the issue tracker.

       • IndexModule IndexSearch Page

AUTHOR

       Yesudeep Mangalapilly

COPYRIGHT

       2023, Yesudeep Mangalapilly