" -v verbose (print interaction with news server)\n" .
" -d direct output (don't consider using PAGER)\n" .
" -a dump all articles in group to stdout as mbox\n" .
+ " -b return current bounds on group's article numbers\n" .
" also: nntpid --version report version number\n" .
" nntpid --help display this help text\n" .
" nntpid --licence display (MIT) licence text\n";
$verbose = 1, next if $1 eq "v";
$pager = 0, next if $1 eq "d";
$mode = 'all', next if $1 eq "a";
+ $mode = 'bounds', next if $1 eq "b";
if ($1 eq "-help") {
print STDERR $usage;
exit 0;
# normal ones..
die "nntpid: -a expected exactly one argument\n" if @ARGV != 1;
$group = $ARGV[0];
+} elsif ($mode eq 'bounds') {
+ # -b has similar command-line semantics to -a.
+ die "nntpid: -b expected exactly one argument\n" if @ARGV != 1;
+ $group = $ARGV[0];
} elsif (!@ARGV) {
# We will read article ids from standard input once we've connected
# to the NNTP server.
print "From nntpid ".(localtime)."\n".$art."\n";
}
}
+} elsif ($mode eq 'bounds') {
+ # Write out the bounds of the group's article numbers.
+ $numbers = &docmd("GROUP $group");
+ @numbers = split / /, $numbers;
+ print "$numbers[1] $numbers[2]\n";
} elsif ($mode eq 'stdin') {
while (<>) {
chomp;
detects that its standard output is not a terminal, however, it will
bypass the pager and just write out the article directly.
-There is an alternative mode of operation, enabled by the \cw{-a}
-option, in which \cw{nntpid} retrieves \e{all} available articles in
-the group and writes them to standard output in \cw{mbox} format.
+There are a couple of alternative mode of operation. In one, enabled
+by the \cw{-a} option, \cw{nntpid} retrieves \e{all} available
+articles in the group and writes them to standard output in \cw{mbox}
+format. In the other, enabled with \cw{-b}, \cw{nntpid} simply prints
+the lowest and highest article numbers currently available in that
+group from the news server.
The location of the news server is obtained by reading the
environment variable \cw{NNTPSERVER}, or failing that the file
\cw{nntpid} will always write straight to standard output (so the
\cw{-d} option is unnecessary).
+\dt \cw{-b}
+
+\dd Print the current bounds on that group's article numbers. The
+output is one line consisting of a minimum and maximum article number.
+(Not every article in that range will necessarily actually exist: a
+cancelled article will still use up a space in the numbering range.)
+
\U AUTHENTICATION
Currently, the only form of authentication supported by \cw{nntpid}