
REQ: Auto-download of binaries via NNTP.
I'm looking for an already-written, Perl-based module that will
perform the following tasks (see below). I have already written
something in elisp that runs in Emacs batch mode and performs all of
these tasks just fine, but it's bulky and hard to maintain, so I'm
hoping that I can find something equivalent in Perl.
Note that I am *NOT* looking for pointers as to how to find the
appropriate Perl modules that already exist on CPAN and that can be
used to build the software I desire. I have lots of experience with
CPAN and the use of these Perl modules, and if necessary, I will
gladly build my own software (and share my results here). However,
before I re-invent the wheel, I'm wondering if anyone has already
written something in Perl that does all, or at least a significant
percentage of the tasks that I am about to outline here:
-- Given a list of several newsgroups and another list of several
NNTP servers, find all previously unread articles in all these
newsgroups on all these servers that contain uuencoded binaries.
-- For each article that has not yet been downloaded (based on its
message ID that is returned in the Xref information), download
this article, save it locally, and mark it as "read". If an
article is found which matches an already downloaded article,
don't download it again, but mark it as "read" nonetheless.
-- Collect all multi-part articles and uudecode them into the
appropriate binary files. Treat single-part articles as
a multi-part article containing only one item.
-- Some other features include skipping NNTP servers that are
temporarily down, connecting to NNTP servers via a double
'telnet' if necessary (i.e., telnetting to a shell session
on a remote computer and then telnetting from there to
its NNTP server), managing regexp-based filters that will
be used to prevent the downloading of articles whose headers
match various user-specified criteria, etc.
Thanks in advance for any pointers you folks could give me to existing
Perl software that can perform these tasks.
--
Lloyd Zusman