@DATABASE "UUEMaster V0.1 documentation"

@NODE MAIN "UUEMaster V0.1 documentation"

Welcome to UUEMaster V0.1 by Rodja Adolph,a powerful as helpful ARexx script
for your convenience. Please read the whole documentation, at least the
@{" Copyright " Link Copyright} and @{" Registration " Link Registration} sections.

@{"                                                                            " Link MAIN}
@{"  " Link MAIN}                                                                        @{"  " Link Nope}
@{"  " Link MAIN}                          @{" Description           " Link Description}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Copyright             " Link Copyright}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Distribution          " Link Distribution}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Disclaimer            " Link Disclaimer}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Registration          " Link Registration}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Contacting the author " Link Contacting_the_author}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" What it does?         " Link What_it_does?}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Requirements          " Link Requirements}                       @{"  " Link MAIN}
@{"  " Link MAIN}                          @{" Usage                 " Link Usage}                       @{"  " Link MAIN}
@{"  " Link MAIN}                                                                        @{"  " Link MAIN}
@{"                                                                            " Link MAIN}

@ENDNODE

@NODE Nope ""
@ENDNODE

@NODE Description "Description"

Short: AREXX script to massdecode UUEncoded newsarticles
Type: comm/news
Uploader: rodjaa@pop.gun.de
Author: rodjaa@pop.gun.de (Rodja Adolph)

This is the result after fiddling around with MassDecode as found in
comm/news/ on AmiNet (CD4). It operates on a given directory and tries to
find UUEncoded mail to join it together in senseful order (split files are
join in a stream). More than that it can also delete the used files if de-
coding was successful. A deletebatch can be generated for manual deletion,
though. Check it out, it works quite well for me :)

ShareWare, $10 reg. fee.

@ENDNODE

@NODE Copyright "Copyright"


   This software is copyrighted by its developer. That means that you
   are NOT ALLOWED to modify the program and documentation in any way.
   Especially you MUST NOT REMOVE the documentation or this text file.


@ENDNODE

@NODE Distribution "Distribution"

This  package is freely distributable.  That means  you are allowed to re-
distribute this package as long as you follow these points:

a. Any re-distribution  has to include all files in this archive, without
   any modifications. You are NOT allowed to add any files to the archive.

b. This package may be freely distributed via BBSs, InterNet/UseNet,
   software libraries such as Fred Fish's and Aminet CD-ROM, and other
   similar electronic channels.

c. Disk magazines and services that charge extra for file transfers may
   NOT distribute it without written permission by the developer(s)!


@ENDNODE

@NODE Disclaimer "Disclaimer"

By  using this product, you accept  the FULL responsibility for any damage
or  loss that might occur through its use  or the inability to use it. The
developer of the software can NOT be held responsible.


@ENDNODE

@NODE Registration "Registration"

This  product is  distributed as "Shareware". This means  that you have to
pay  the author if you find the  program useful and/or use it on a regular
basis.  The requested amount of money is 10 US-Dollars or 15 DM if you can
get  hold  of german currency. The suggested "try out" time is 4 weeks. If
you  do  not register within these 4 weeks, you have to delete the product
again  and  may  not use the same version again. You may however try out a
newer version and see if it fits your needs better and justifies for regis-
tration.

Send  the money along with your name  and (email) address in a padded enve-
lope to the following address :

  Rodja Adolph
  Kölnerstr. 187
  40227 Düsseldorf / Germany


@ENDNODE

@NODE Contacting_the_author "Contacting the author"

You  can  reach  the author by either email, phone or snailmail. Try these
addresses :

  Snailmail:                      EMail: rodjaa@pop.gun.de
  Rodja Adolph                    Phone: +49-211-721285
  Kölnerstr. 187
  40227 Düsseldorf / Germany

Feel  free to contact me for just anything. Bugreports and suggestions are
welcomed, too :)


@ENDNODE

@NODE What_it_does? "What it does?"

 Well,this script does the following :

 Scans the FROM-directory for files and checks all files for newsarticle
 headers (a Subject: line is searched for plus a following empty line).

 Then check if thats a reply (RE: in subject) and if not,then check if
 we have a UUEncoded file or not.This is checked using 3 tests which at
 least one must be matched to succeed :
  - "begin 644" starting on first character of a line
  - "BEGIN -- Cut Here -- cut here"  ^^^^^^^^^^^^^^^^
  - At least 6 lines in a row with an "M" as first character

 Only proceed on subjects that contain an MSDOS compliant filename with
 extension.This means the subject MUST contain a "." with some some
 string before and after that.The lengths of the strings arent important
 though.So the script allows more than 8 chars before the "." and also
 more than 3 for the extension...
 
 The word before the "." is used as classifying filename.This means that
 split UUEncoded files MUST have the same "word" before the "." in each
 part's subject line.
 
 Note that if there are more than one "." in a subject line,then ONLY
 the first one is checked.
 
 Next there the subject is checked for a "/" meant as range indicator.
 If none is found and option RISKY (see below) is NOT set,then that
 entry will be removed from the todecode-list.If RISKY is set and no
 "/" could be found,then the script assumes a single part file.

 Next ranges are checked.It is checked if the maximum parts number is
 valid.That means that we must have maxparts times that above mentioned
 'classifying filename' (the word before the "." in a subject line).
 If we dont have equal maxparts value and occurence of that filename,
 then all parts we have get removed from the todecode-list.

 All entries are sorted alphanumerically using a name that is derived
 by the subjectline (the word before the first '.') so that there are
 good chances that even unrecognized multisplit files will make their
 way...

 Finally all files are joined to the TO-file and then UUDecoded.If com-
 mandline option MAX is set to a value other than 0,then only a maximum
 of MAX newsarticles will be joined at once and thus there might be created
 multiple joined files instead of only one. If your UUDecoder can handle
 this (as it might happen that a multisplit file gets 'wrapped' to the next
 file),its wise to use this option to not end up in megabytes long joinfiles
 cause if you experience errors you might end up in a big mess not being
 able to edit the biiiiig file cause of lack of memory...well...by default
 MAX is set to 30. You may set it to 0 to get one big file ONLY. It's your
 decision.
 Also note that if MAX>0 every output joined file (each of the 'big' ones
 to say so) will start with a newsarticle that is considered a first part
 of something or a single file...Note that if RISKY is set this might not be
 successful for not recognized multisplit files...It's just a little feature
 that might help it to get everything done automagically...Just decide if
 you really need every single file (then set MAX=0 and dont set RISKY) or
 most possible auto operation (then set MAX to something and set RISKY).

 If DELETE is set,then newsarticles and the joined bigger files will be
 deleted after SUCCESSFUL operation (UUDecoding). If decoding fails but
 DELETE is set, then a delete script will be created if it does not exist
 in the TO path or if it exists, then there will be appended to it. The
 script contains the proper delete commands to get rid of the newsarticles
 manually (by executing that script).Note that only if whole decoding is
 entirely successful (that is when MAX>0 all final joined bigger files
 have to result successful) anything will be deleted at all...Dont ask why
 we dont delete the files of a possibly successful decoding part...think
 about why...:)


@ENDNODE

@NODE Requirements "Requirements"

 Firstly you need the following libraries:
  rexxsupport.library
  rexxreqtools.library
  rexxtricks.library

 rexxreqtools.library isnt essential.The script will work even without.
 The other two libs are essential though.

 If you cant find rexxtricks.library,then grab /gfx/misc/CatMake124.lha
 in which you will not only find another fine script of me,but also the
 wonderful library...(which isnt owned by me).

 You WILL also need an Enviroment-Variable called "UUDECODER".Set your
 UUDecoder to that envvar.For example do this in your User-Startup :

  SetEnv UUDECODER "Tools:Other/UUxT x"


@ENDNODE

@NODE Usage "Usage"

 Template : UUEMaster <FROM=source directory> <TO=target directory>
                      [DELETE/K] [RISKY/K] [MAX=Files] [QUIET/K] [DEBUG=0|1|2|3|4]

            You MUST specify FROM and TO parameter (the script will
            inform you if something is missing...) - The others are
            optional.

            FROM   : The directory where the script should search for
                     UUEncoded newsarticles
            TO     : The directory to which files should be UUDecoded
            DELETE : Delete newsarticles that were joined to the final
                     UUEncoded file.Also delete the final UUEncoded
                     file.If the UUDecoder results non-zero,then nothing
                     will be deleted but instead a file called
                     "-DelScript.bat" will be created in the destination
                     dir,or if it exists,data will be appended.The file
                     is a batch with which you can manually delete the
                     joined newsarticles after checking out the problem(s).
            RISKY  : Consider newsarticles that are recognized as
                     UUEncoded files but not as ranged ones (no "/" in
                     subject line or no MaxPart value after the "/") as
                     single part files...can result in lost files...
                     But hey...life is risky so take a chance :)
            MAX    : Set the maximum number of newsarticles to be joined
                     to one new file.Note that we might happen to get a
                     split between together belonging parts of one split
                     UUEncoded file.This however is no problem with e.g.
                     UUxT...Set this to 0 if you want ALL files to be
                     added to one SINGLE file...
            QUIET  : Will suppress requesters and textoutput
            DEBUG  : Set debug level.Debug=0 means no debug information
                     while debug=4 will be most verbose...You can well
                     see what happens...
 Example:

 UUEMaster FROM=UUNews:alt/binaries/pictures/anime/ TO=pics: DELETE RISKY

@ENDNODE

