Refactor database initialisation in feedlog.pl. * Move database initialisation to a separate function. * (Re-)try to connect every five seconds (instead of going into an endless loop) and log successful (re-)connections. * Log postings that are dropped due to database failures to syslog (Message-ID) for recovery. * If the connection to the database is lost, try to recover it (every five seconds) and try again to write the pending data. * Input will be buffered automatically by INN until feedlog is able to process it (see man 5 newsfeeds). Fixes #30, #31. Signed-off-by: Thomas Hochstein <thh@inter.net>
Adapt install.pl to new coding style. * Switch to Getopt::Long, change coding style; limit line length. * Replace 'die' and 'warn' by calls to &Bleat(). * Completely changed options due to new GetOpt::Long processing. * Adapt to changes in NewsStats.pm * Redo documentation. * Update TODO. Signed-off-by: Thomas Hochstein <thh@inter.net>
Adapt feedlog.pl to new coding style. * Switch to Getopt::Long, change coding style; limit line length. * Completely changed options due to new GetOpt::Long processing. * Adapt to changes in NewsStats.pm * Redo documentation. * Update TODO. Signed-off-by: Thomas Hochstein <thh@inter.net>
Adapt gatherstats.pl to new coding style. * Switch to Getopt::Long, change coding style; limit line length. * Replace 'die' and 'warn' by calls to &Bleat(). * Completely changed options due to new GetOpt::Long processing. - merged -m/-p into --month * Adapt to changes in NewsStats.pm * Redo documentation. * Update TODO. Signed-off-by: Thomas Hochstein <thh@inter.net>
Complete rewrite of groupstats.pl and NewsStats.pm. * Switch to Getopt::Long, change coding style; limit line length. * Replace 'die' and 'warn' by calls to &Bleat(). * Completely redo options and processing: - merge -m/-p/-a into --month - replace -i/-q/-d with - much more powerful - --group-by/--order-by - replace -t/-l with - much more powerful - --lower/--upper/--boundary - remove -b and replace it with --report Fixes #33. * Add new report types, boundaries and sorting options: - report types 'average' and 'sums' - boundaries 'average' and 'sums' - upper and/or lower boundary - sort output independently Issue #35. Fixes #34, #38. * Add possibility to cross-check newsgroups against checkgroups file. * Complete rewrite of groupstats.pl internal logic: - modularize construction fo SQL queries - remove unnecessary special cases - refactor code into NewsStats.pm functions as much as possible Issue #37. Fixes #36. * Rework output formats, fix padding problem by making use of modularized SQL queries. Fixes #15, #32. * Add some more consistency checks. Issue #12. * Redo documentation. * Update TODO list. Signed-off-by: Thomas Hochstein <thh@inter.net>