Newer
Older
tsearchpath / tsearchpath.rst
@tundra tundra on 25 Jun 2010 3 KB Fixed formatting and typos.
NAME
----

**tsearchpath** - Python Module For Path Searching

SYNOPSIS
--------

import tsearchpath

DESCRIPTION
-----------

``tsearchpath`` is a Python module for searching a list of paths for a
particular file system 'filename'.  This can be the name of a
directory, file, or any other entity in the file system.  This makes
it easy to add things like include- or configuration file paths to
your own programs.


API DOCUMENTATION
-----------------

::

   tsearchpath(filename,
                pathlist,
                PATHDELIM=DEFAULTDELIM
               )

    """
        Find all instances of a filename in a list of paths.

        Inputs:

              filename - The name of the filesystem entity (file,
                         directory, ...) to look for.

              pathlist - A list of paths to search separated by the
                         PATHDELIM character (Default: ":")

        Output:

              Returns a list of all instances of 'filename' found on
              the paths specified by 'pathlist'.  These appear in
              order of path appearance in 'pathlist' and are returned
              as fully qualified real path names.
              
        
        Options:

              PATHDELIM=char

                        Can be used to specify the separator character
                        used in 'pathlist'.  Provided primarily for
                        situations where you want to maintain
                        compatibility with Windows-style paths
                        that use ";" as a separator.

        Side Effects:

              Module does not check for duplicates in the the
              'pathlist'.  If multiple components there map to the
              same real path and 'filename' exists there, the returned
              list will have duplicate entries.

              There is no space stripping around PATHDELIM characters.
              Spaces are treated as part of the path component.  This
              is almost always a mistake:

                "path1 :path2 :path3"
       
    """
    

EXAMPLES
---------

Simple ``which`` type functionality::

  print tsearchpath("ls", os.getenv("PATH"))


Look for a particular file in many paths::

  print tsearchpath(".profile", "/:/etc:/usr/home/foo:/usr/home/bar")


Look for a particular subdirectory in many paths::

  print tsearchpath("etc", "/:/usr/local")

Look for a configuration file for your program::

  rcfile = tsearchpath(".myprogrc", "./:/usr/local/myprog:/etc/myprog")


TEST PROGRAM
------------

The ``tsearchpath`` distribution tarball contains a simple test
driver program to experiment with this module.  The syntax
for use is::

  testpath.py filename searchpath [Path Separator Character]
  

OTHER
-----

You must have a reasonably current version of Python installed.


BUGS AND MISFEATURES
--------------------

None known as of this release.

COPYRIGHT AND LICENSING
-----------------------

**tsearchpath** is Copyright (c) 2010 TundraWare Inc.

For terms of use, see the ``tsearchpath-license.txt`` file in the
program distribution.  If you install **tsearchpath** on a FreeBSD
system using the 'ports' mechanism, you will also find this file in
``/usr/local/share/doc/tsearchpath``.

AUTHOR
------

::

   Tim Daneliuk
   tsearchpath@tundraware.com


DOCUMENT REVISION INFORMATION
-----------------------------

::

  $Id: tsearchpath.rst,v 1.103 2010/06/25 16:31:32 tundra Exp $

You can find the latest version of this program at:

  http://www.tundraware.com/Software/tsearchpath