
            ------------------------------------------------

                                PlutList

            an automated nodelist & diff scanner/unarchiver

                       by Peter Deane (3:622/401)

                      Version 1.00  5 January 1994

                           in GFA BASIC V3.51

            ------------------------------------------------



                         Description and Usage
                         =====================


If you wish to SIMPLY automate the processing of your nodelists and
diffs, especially in a multi-network situation where a large number of
lists are being kept, PlutList is for you.

PlutList's general operation is as follows:  Upon running it will search
for its config file ("Mail:PlutList.cfg"), and then search for nodelists
and diffs specified in the config (up to 100 can be specified in this
version).  If a match is found, the relevant unarchiving command is
called, and finally the uncompressed files are copied into the nodelist
directory.  You have several options what to do with the incoming
archives and unarced copies.  Finally, if a specified file is detected,
a set command will be run (usually TrapList) to process the nodelists,
keeping them completely up to date.

PlutList could be run in every aftersession, or once a day.  In node
usage, you would generally set it to look for files in your inbound
directory, and your Tick program would then remove them to another
directory.  If you do use this recommended dosage, you would use
PlutList in every script immediately BEFORE each Tick command.

As a point, you might select to delete old incoming files, or process
files only in the nodelist directory.  In any case the processing and
unarching of incoming nodelists is made simpler for ANYONE using this
program.


                         Command Line Options:
                         =====================


PlutList can, naturally be run from the command line.  It supports a few
command line switches, none of which are case-sensitive:

-t, -T  TEST MODE       This mode just runs the program, parses the
                        config file, and prints its interpretation
                        of the config to the screen.  It then quits.
                        This is useful while setting up the program.

-v, -V  VERBOSE MODE    Prints up a summary of the config file (as
                        above) before proceeding normal processing.

-i, -I  INTERACTIVE MODE This will pop up alert gadgets for you to
                        click on at key stages in the processing. You
                        generally get three options to proceed, skip
                        this file, or quit entirely.  You MUST BE
                        PRESENT when using this mode, someone has to
                        click on a mouse.  Do not ever use this mode
                        in your scripts!!

?       USAGE DETAILS   Are printed and the program quits, if a "?"
                        should appear anywhere in the command line.



                  Your config file "MAIL:PlutList.cfg"
                  ====================================



The keywords are neither case nor order sensitive.  If any is missing,
a default will be used (see here for the defaults).  With directory
names, a trailing slash is optional  (you need to spcify a trailing
colon, however).


----------
SEARCHPATH
----------

Name of the directory to scan for incoming lists and diffs.  A node
would probably use the inbound area, a point might wait until his tick
program had processed the files and use the nodelist directory.

If this directory does not exist, the program will attempt to create it
(as specified in the config).

Example

SEARCHPATH Mail:Inbound/

Default

""  (ie the current directory)


------------
NODELISTPATH
------------

Name of final resting place for unarced lists/diffs.  Diffs will be
unarced into a temporary holding directory first, however.

If this directory does not exist, the program will attempt to create it
(as specified in the config).

Example

NODELISTPATH Mail:Nodelist

Default

Nodelist:


-----------
WORKINGPATH
-----------

Temporary working directory for unarcing, etc.  You should MAKE a
special directory that PlutList can keep empty for the most efficient
operation of Plutlist.  If you specify RAM:  then you should see the
next item and use NOKILLWORKDIR.

If this directory does not exist, the program will attempt to create it
(as specified in the config).  You could therefore use a directory in
RAM: which the program will create for you on the fly.

Example

WORKINGPATH MAIL:PlutList

Default

T:


---------------
(NO)KILLWORKDIR
---------------

Whether to keep the working directory completely empty, or to
selectively copy the files from there.

If off (ie NOKILLWORKDIR), only files with filenames matching the
nodelists/diff names you specify will then be copied & deleted.

If you turn this on (KILLWORKDIR), the ENTIRE CONTENTS of the working
directory will be copied into your nodelist directory, and then deleted.

The latter is the best way, but requires its own directory to be made.
If you are running on floppy, turn this off and use RAM:, or a directory
in RAM:  as your working directory.

EXAMPLE

KILLWORKDIR

Default

True


--------------
(NO)DELETEARCS
--------------

Whether or not to delete incoming archives after running the extract
command.  In a node situation, your Tick program will take care of this.
I envisage you'd only use this as a point, since I don't check the
returncode from the arc'er (yet), so if that command fails, the arcs
will disappear.  This was added as a request from a lazy point who can
just freq another file if this happens, and it cleans his inbound
quickly.

Example

DELETEARCS

Deafult

False  (NODELETEARCS)


-------
COMMAND
-------

Should any lists/diffs be found, the commandline to run.  This should
NOT have inverted commas around it, the whole line will be used.  (There
is no need to escape inverted commas if you wish to use them - include
them in the line verbatim)

Examples

COMMAND Execute "MAIL:Scripts/PlutList.script"
COMMAND TrapList

Default

""  (ie do nothing)



--------
NODELIST
--------

With this, you list all the nodelist names to search for, and the
unarchiving command to handle them.  (You may not necessarily use an
unarchiving command, too, maybe a copy or script could be executed). At
the moment, the filename is slotted on to the END of the unarchiving
command, but future improvements would see the parser doing embedded
percent commands, I suppose.  Still, the program works for now for
nodelists, anything else might be considered a bonus.

You can list up to 100 lists and diffs here.  This can easily be
expanded, but if anyone would be using more than 100, good luck to
you...

Use the format:

Nodelist  LISTNAME.x     Unarchiving Command

Do not use inverted commas for the unarching command, the rest of the
line after the listname is taken verbatim.

This will work for filenames of the form LISTNAME.X00 - LISTNAME.X99,
where X generally indicates the archive format of the file.

[ NAME.Lxx = Lharc/LHa
  NAME.Axx = Arc
  NAME.Zxx = Zip
  NAME.Jxx = Arj
  etc]

Just leave off the last two digits off the List or Diff name, Plutlist
will search for the NUMBERS, and then use your unarchiving command to
unpack the file into your working directory. Since these are AmigaDOS
filenames, naturally they are not case-sensitive.


Examples

NodeList Z3DIFF.L        Lharc -m x
NodeList NODEDIFF.L      Lharc -m x
NodeList GLOBENET.A      Pkxarc -r-x
NodeList LIONLIST.J      Unarj x

Default

""  (none specified - do nothing)


                               Setup Tips
                               ==========


Simply use the TEST mode (-t on the command line) to get your config in
order.  When you are happy with that, copy a few nodelist files into your
search directory.  Run the program in INTERACTIVE mode (-i on command
line), and you'll then learn exactly how the program works.  It simply
does what YOU would have done.  Once you are satisfied, you can include
the program in your scripts, and automate this once onerous task.

Just a note: something has to clear the incoming archives out of your
search directory.  This would probably be a Tick program, or a DELETE
script (eg: Delete Seach:NODELIST#?).  You may like to do it manually,
because even running Plutlist interactively will lessen your work.  If
you test the program out, remember to clean up the test files.  You
should periodically check your search directory, BTW, in case something
IS left behind (eg a missing .TIC file, etc, etc).



                       Distribution and Politics
                       =========================


The PlutList archive currently consists of these five files:

        PlutList                Executable
        PlutList.cfg            Sample config
        PlutList.doc            This file
        PlutList.history        Revision notes
        PlutList.lst            GFABASIC Source (ascii)

It may NEVER be distributed without all the above files being present in
the distribution copy.  No charge over and above a small copying fee may
ever be levied on the distribution of the program.

All copyrights are retained by the author.  If you use any part of the
source in other programs, acknowledgement must be given.

The liability of the author for any damages caused by this program is
limited to the amount the user has paid directly to the author for the
right to use the software (ie nil). Claims for amounts greater than this
will be refused.

The author can be contacted:

Peter Deane

FidoNet:   3:622/401        Postal: PO Box 228
GlobalNet: 54:6101/401              Swansea  NSW  2281
AmigaNet:  41:200/401               AUSTRALIA

BBS:    from O/S   +61-49-72-1647
(24hrs) from Aust  (049) 72-1647


            ------------------------------------------------

