usenet/newsstats.git
6 years agoMerge branch 'thh-small-changes' into next
Thomas Hochstein [Mon, 1 Jan 2018 15:58:25 +0000 (16:58 +0100)] 
Merge branch 'thh-small-changes' into next

* thh-small-changes:
  Fix displayed path in install.
  Update INSTALL documentation.
  Fix documentation relating to conffile location.
  Fix --conffile in POD.
  Bump version numbers.
  Fix forgotten dates.
  Fix ea91003a99e679caa5bf56915f085a7c4931805b.

10 years agoFix displayed path in install.
Thomas Hochstein [Wed, 4 Sep 2013 09:27:19 +0000 (11:27 +0200)] 
Fix displayed path in install.

install.pl will display a sample newsfeeds entry.
Adapt the path to the changes in
2ad99c20bcc297362aeccabb1c51e20c4bd4b533.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoUpdate INSTALL documentation.
Thomas Hochstein [Wed, 4 Sep 2013 09:25:02 +0000 (11:25 +0200)] 
Update INSTALL documentation.

Configuration files now reside in etc/.

This was an oversight from commit
2ad99c20bcc297362aeccabb1c51e20c4bd4b533.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoFix documentation relating to conffile location.
Thomas Hochstein [Wed, 4 Sep 2013 09:41:58 +0000 (11:41 +0200)] 
Fix documentation relating to conffile location.

CONFIGURATION section talks about newsstats.conf being
in the same directory which is not true any more since
2ad99c20bcc297362aeccabb1c51e20c4bd4b533.

It also didn't mention the --conffile option which was
added in 23ab67a099e32a9ee8c0700fe46bc43680a60721.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoFix --conffile in POD.
Thomas Hochstein [Wed, 4 Sep 2013 09:22:38 +0000 (11:22 +0200)] 
Fix --conffile in POD.

Change '--conffile' to 'B<--conffile>'.
The wrong format was added to documentation
in commit
23ab67a099e32a9ee8c0700fe46bc43680a60721.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoBump version numbers.
Thomas Hochstein [Wed, 4 Sep 2013 09:19:36 +0000 (11:19 +0200)] 
Bump version numbers.

All scripts - and the package - have been
restructured in commit
2ad99c20bcc297362aeccabb1c51e20c4bd4b533,
but version numbers didn't change accordingly.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoFix forgotten dates.
Thomas Hochstein [Wed, 4 Sep 2013 09:18:11 +0000 (11:18 +0200)] 
Fix forgotten dates.

Some dates were not bumped when releasing v 0.01
in 07c0b2589af779c33d5d35b6a7fa0e7883201674.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoFix ea91003a99e679caa5bf56915f085a7c4931805b.
Thomas Hochstein [Wed, 4 Sep 2013 08:39:40 +0000 (10:39 +0200)] 
Fix ea91003a99e679caa5bf56915f085a7c4931805b.

Commit ea91003a99e679caa5bf56915f085a7c4931805b
was broken and did not check for undefined
variables.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoMerge branch 'thh-bug51' into next
Thomas Hochstein [Tue, 3 Sep 2013 20:25:23 +0000 (22:25 +0200)] 
Merge branch 'thh-bug51' into next

* thh-bug51:
  One more default sorting order ("grouping").

10 years agoMerge branch 'thh-small-changes' into next
Thomas Hochstein [Tue, 3 Sep 2013 20:25:13 +0000 (22:25 +0200)] 
Merge branch 'thh-small-changes' into next

* thh-small-changes:
  Small comment fixes.
  --sums is not compatible with --checkgroups.

10 years agoSmall comment fixes.
Thomas Hochstein [Tue, 3 Sep 2013 15:12:09 +0000 (17:12 +0200)] 
Small comment fixes.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years ago--sums is not compatible with --checkgroups.
Thomas Hochstein [Tue, 3 Sep 2013 13:10:07 +0000 (15:10 +0200)] 
--sums is not compatible with --checkgroups.

'Virtual' .ALL groups will never be present in
a checkgroups file, and we can't use them anyway
as they would contain postings from groups that
are filtered out by --checkgroups.

Add a warning, put a note in the documentation.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoOne more default sorting order ("grouping").
Thomas Hochstein [Tue, 3 Sep 2013 12:55:00 +0000 (14:55 +0200)] 
One more default sorting order ("grouping").

If --group-by is not set, output will be grouped
by month by default (as long as --boundary is
not set to 'level' or 'average', where grouping
by newsgroup is default).

Now we default to 'newsgroup' if just one newsgroup
is requested by --newsgroups, but more than one
month by --month.

Both defaults can be overridden.

But forced --group-by=month for --report type
'average' or 'sum' in front so defaults are
not checked.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoMerge branch 'thh-restructure' into next
Thomas Hochstein [Tue, 3 Sep 2013 12:55:42 +0000 (14:55 +0200)] 
Merge branch 'thh-restructure' into next

* thh-restructure:
  Make configuration file configurable.
  Fix some whitespace.
  Redo directory structure.

10 years agoMake configuration file configurable.
Thomas Hochstein [Tue, 3 Sep 2013 07:58:17 +0000 (09:58 +0200)] 
Make configuration file configurable.

Add --conffile option to all scripts to
overrride standard config file location
etc/newsstats.conf.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoFix some whitespace.
Thomas Hochstein [Tue, 3 Sep 2013 07:41:36 +0000 (09:41 +0200)] 
Fix some whitespace.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoRedo directory structure.
Thomas Hochstein [Tue, 3 Sep 2013 07:21:55 +0000 (09:21 +0200)] 
Redo directory structure.

* Move all scripts to /bin
* Move configuration to /etc
* Move NewsStats.pm to /lib
* Add new path to NewsStats.pm to all scripts
* Set $HomePath to top level directory
* Move setting of config file name to ReadConf()

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoRelease 0.01 master 0.01
Thomas Hochstein [Mon, 2 Sep 2013 11:14:33 +0000 (13:14 +0200)] 
Release 0.01

Update TODO list.
Update version numbers, ChangeLog, bump copyright
dates.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoMerge branch 'next'
Thomas Hochstein [Mon, 2 Sep 2013 11:08:39 +0000 (13:08 +0200)] 
Merge branch 'next'

* next: (26 commits)
  Some documentation fixes and enhancments.
  Improve INSTALL documentation.
  README: Update copyright notice.
  README: improve phrasing.
  Change handling of warnings.
  Improve output padding.
  Check for invalid newsgroup names.
  Add some basic validation to config parser.
  Create better newsgroup lists for SQL clause.
  Fix config path detection for install.pl.
  Get empty 'virtual' hierarchies working.
  Add some TODO entries.
  Add database creation to installer.
  Handle undefined previous version when installing.
  Refactor database initialisation in feedlog.pl.
  Add empty 'virtual' .ALL hierarchies as needed.
  Change interpretation of --checkgroups to template
  Be more fault-tolerant when reading checkgroups.
  Remove call to &Bleat where not appropriate.
  Allow more characters in TLH definitions.
  ...

10 years agoMerge branch 'language' into next
Thomas Hochstein [Mon, 2 Sep 2013 11:00:33 +0000 (13:00 +0200)] 
Merge branch 'language' into next

* language:
  Some documentation fixes and enhancments.
  Improve INSTALL documentation.
  README: Update copyright notice.
  README: improve phrasing.

10 years agoMerge branch 'thh-bug13' into next
Thomas Hochstein [Mon, 2 Sep 2013 11:00:23 +0000 (13:00 +0200)] 
Merge branch 'thh-bug13' into next

* thh-bug13:
  Add some basic validation to config parser.

10 years agoMerge branch 'thh-bug53' into next
Thomas Hochstein [Mon, 2 Sep 2013 11:00:05 +0000 (13:00 +0200)] 
Merge branch 'thh-bug53' into next

* thh-bug53:
  Improve output padding.

10 years agoMerge branch 'thh-bug37' into next
Thomas Hochstein [Mon, 2 Sep 2013 10:59:57 +0000 (12:59 +0200)] 
Merge branch 'thh-bug37' into next

* thh-bug37:
  Create better newsgroup lists for SQL clause.

10 years agoMerge branch 'thh-checkinput' into next
Thomas Hochstein [Mon, 2 Sep 2013 10:59:45 +0000 (12:59 +0200)] 
Merge branch 'thh-checkinput' into next

* thh-checkinput:
  Check for invalid newsgroup names.

10 years agoMerge branch 'thh-warnings' into next
Thomas Hochstein [Mon, 2 Sep 2013 10:59:35 +0000 (12:59 +0200)] 
Merge branch 'thh-warnings' into next

* thh-warnings:
  Change handling of warnings.

10 years agoSome documentation fixes and enhancments.
Thomas Hochstein [Sun, 11 Aug 2013 20:44:08 +0000 (22:44 +0200)] 
Some documentation fixes and enhancments.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoImprove INSTALL documentation.
Thomas Hochstein [Fri, 12 Oct 2012 23:36:17 +0000 (01:36 +0200)] 
Improve INSTALL documentation.

Fix wrong example for newsfeeds entry (lacking
backslashes).

Fix typos, update copyright, improve phrasing.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoREADME: Update copyright notice.
Thomas Hochstein [Fri, 12 Oct 2012 23:35:34 +0000 (01:35 +0200)] 
README: Update copyright notice.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoREADME: improve phrasing.
Daniel Weber [Tue, 28 Sep 2010 20:15:08 +0000 (22:15 +0200)] 
README: improve phrasing.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoChange handling of warnings.
Thomas Hochstein [Mon, 2 Sep 2013 09:15:12 +0000 (11:15 +0200)] 
Change handling of warnings.

Replace 'perl -W' by 'use warnings;'.
The latter is preferred, and '-W'
(instead of '-w') was causing problems with
warnings in DB::mysql::GetInfo.pm.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoImprove output padding.
Thomas Hochstein [Mon, 2 Sep 2013 08:13:35 +0000 (10:13 +0200)] 
Improve output padding.

Take 'length' of numbers in account.

Change GetMaxLength() accordingly and use that
new information in FormatOutput().

Fixes #53.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoCheck for invalid newsgroup names.
Thomas Hochstein [Mon, 2 Sep 2013 06:51:45 +0000 (08:51 +0200)] 
Check for invalid newsgroup names.

Add check to SQLGroupList() and act on it
in groupstats.pl.

Issue #12.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoAdd some basic validation to config parser.
Thomas Hochstein [Mon, 2 Sep 2013 08:40:17 +0000 (10:40 +0200)] 
Add some basic validation to config parser.

We check for empty mandatory options for
starters.

Fixes #13 ... so we can release RSN :)

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoCreate better newsgroup lists for SQL clause.
Thomas Hochstein [Mon, 2 Sep 2013 06:55:13 +0000 (08:55 +0200)] 
Create better newsgroup lists for SQL clause.

Build a 'IN(...)' list for single newsgroup
names without wildcards. Create SQL clause
with a mix of wildcards and wildcard-less
group names.

More code for a better query ...

Fixes #37.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoMerge branch 'installation' into next
Thomas Hochstein [Mon, 2 Sep 2013 10:19:11 +0000 (12:19 +0200)] 
Merge branch 'installation' into next

* installation:
  Fix config path detection for install.pl.
  Add some TODO entries.
  Add database creation to installer.
  Handle undefined previous version when installing.

10 years agoFix config path detection for install.pl.
Thomas Hochstein [Mon, 2 Sep 2013 04:44:32 +0000 (06:44 +0200)] 
Fix config path detection for install.pl.

Make use of $Path - which is set and checked
to display a correct 'newsfeeds' example - to
load our configuration from the correct location.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoMerge branch 'gatherstats' into next
Thomas Hochstein [Mon, 2 Sep 2013 04:46:40 +0000 (06:46 +0200)] 
Merge branch 'gatherstats' into next

* gatherstats:
  Get empty 'virtual' hierarchies working.

10 years agoGet empty 'virtual' hierarchies working.
Thomas Hochstein [Sun, 1 Sep 2013 15:52:21 +0000 (17:52 +0200)] 
Get empty 'virtual' hierarchies working.

Commit b5125b1099cf5cf12beb0520d5896b9a1d7850ae
was broken.

We didn't add empty .ALL hierarchies as needed;
we added empty (non-existant) hierarchies without
appended '.ALL', and didn't add the original
empty group we started with.

(What's more, gatherstats didn't even start any
more due to missing ex- and import of
&ParseHierarchies from NewsStats.pm.)

Fixes #52 (and some more breakage).

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoAdd some TODO entries.
Thomas Hochstein [Sun, 11 Aug 2013 20:51:11 +0000 (22:51 +0200)] 
Add some TODO entries.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoAdd database creation to installer.
Thomas Hochstein [Wed, 12 Jan 2011 15:41:21 +0000 (16:41 +0100)] 
Add database creation to installer.

It's not enough to create tables, one should
create the database first if it is still
missing ...

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoHandle undefined previous version when installing.
Thomas Hochstein [Wed, 12 Jan 2011 15:39:10 +0000 (16:39 +0100)] 
Handle undefined previous version when installing.

$OptUpdate is undefined when not upgrading, so don't
prepare an upgrade notice to avoid calling an
undefined variable.

Signed-off-by: Thomas Hochstein <thh@inter.net>
10 years agoMerge branch 'feedlog' into next
Thomas Hochstein [Sun, 11 Aug 2013 20:00:05 +0000 (22:00 +0200)] 
Merge branch 'feedlog' into next

10 years agoRefactor database initialisation in feedlog.pl.
Thomas Hochstein [Fri, 12 Oct 2012 23:27:54 +0000 (01:27 +0200)] 
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>
10 years agoMerge branch 'gatherstats' into next
Thomas Hochstein [Sun, 11 Aug 2013 19:56:37 +0000 (21:56 +0200)] 
Merge branch 'gatherstats' into next

10 years agoMerge branch 'rewrite' into next
Thomas Hochstein [Sun, 11 Aug 2013 19:56:18 +0000 (21:56 +0200)] 
Merge branch 'rewrite' into next

10 years agoAdd empty 'virtual' .ALL hierarchies as needed.
Thomas Hochstein [Sat, 10 Aug 2013 23:47:32 +0000 (01:47 +0200)] 
Add empty 'virtual' .ALL hierarchies as needed.

When using a --checkgroups file while tabulating,
valid but empty groups will be added with a posting
count of zero as needed. If all groups in a
sub-hierarchy are empty, the virtual '.ALL' group
for that sub-hierarchy was not created, though.

If local.test.dummy and local.test.binary were
both empty, both groups were added with a posting
count of '0', but local.test.ALL was not.

Now we loop through all hierarchy elements using
ParseHierarchies and add empty .ALL hierarchies as
needed.

Fixes #49.

Also fixing a typo in some comment. :-)

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoChange interpretation of --checkgroups to template
Thomas Hochstein [Sun, 27 May 2012 13:53:29 +0000 (15:53 +0200)] 
Change interpretation of --checkgroups to template

In most hierarchies, the list of valid newsgroups will
change over time, so you'll have to use another
checkgroups file for each month. gatherstats will now
understand the value of --checkgroups to be a template
and amend it with each month it is processing.

Documentation changed accordingly.

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoBe more fault-tolerant when reading checkgroups.
Thomas Hochstein [Sun, 27 May 2012 13:33:11 +0000 (15:33 +0200)] 
Be more fault-tolerant when reading checkgroups.

* Accept lines starting with whitespace.

* Drop empty "groups", i.e. lines containing only
  whitespace.

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoRemove call to &Bleat where not appropriate.
Thomas Hochstein [Sun, 27 May 2012 13:31:49 +0000 (15:31 +0200)] 
Remove call to &Bleat where not appropriate.

Some warn()ings are used for debugging purposes.

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoAllow more characters in TLH definitions.
Thomas Hochstein [Sun, 27 May 2012 12:00:14 +0000 (14:00 +0200)] 
Allow more characters in TLH definitions.

TLH may now also contain literal dots '.',
allowing for using second or third level
hierarchies as "TLH". To faciliate that,
'+' and '-' will be allowed, too.

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoMatch TLHs correctly, not only partially.
Thomas Hochstein [Sun, 27 May 2012 11:58:32 +0000 (13:58 +0200)] 
Match TLHs correctly, not only partially.

The TLH was checked to match the beginning
of the newsgroup name, not the whole TLH part.
So the TLH "de" would match not only "de.test",
but also "denver.test", which was not the
desired outcome.

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoFix parsing of more than one TLH in config.
Thomas Hochstein [Sun, 27 May 2012 11:56:06 +0000 (13:56 +0200)] 
Fix parsing of more than one TLH in config.

The code introduced in 17ffbebad562acd3af71328cdbf187297b5a9e6d
did not check the correct variable for being an array.

Improve an unrelated comment, too.

Signed-off-by: Thomas Hochstein <thh@inter.net>
11 years agoAdapt install.pl to new coding style.
Thomas Hochstein [Sun, 27 May 2012 12:32:58 +0000 (14:32 +0200)] 
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>
11 years agoAdapt feedlog.pl to new coding style.
Thomas Hochstein [Sun, 27 May 2012 12:30:14 +0000 (14:30 +0200)] 
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>
11 years agoAdapt gatherstats.pl to new coding style.
Thomas Hochstein [Mon, 7 May 2012 18:29:25 +0000 (20:29 +0200)] 
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>
11 years agoComplete rewrite of groupstats.pl and NewsStats.pm.
Thomas Hochstein [Wed, 2 May 2012 16:11:43 +0000 (18:11 +0200)] 
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>
11 years agoMerge branch 'tools' into pu
Thomas Hochstein [Mon, 7 May 2012 15:53:52 +0000 (17:53 +0200)] 
Merge branch 'tools' into pu

* tools:
  Add tools directory, move untracked stuff top /tmp

11 years agoAdd tools directory, move untracked stuff top /tmp
Thomas Hochstein [Fri, 4 May 2012 05:41:02 +0000 (07:41 +0200)] 
Add tools directory, move untracked stuff top /tmp

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoDocumentation: Add ChangeLog
Thomas Hochstein [Mon, 1 Nov 2010 20:38:07 +0000 (21:38 +0100)] 
Documentation: Add ChangeLog

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoUpdate To-Do list.
Thomas Hochstein [Mon, 1 Nov 2010 20:28:48 +0000 (21:28 +0100)] 
Update To-Do list.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoDocumentation: Add TODO.
Thomas Hochstein [Mon, 1 Nov 2010 12:16:41 +0000 (13:16 +0100)] 
Documentation: Add TODO.

Add a comprehensive to-do list.
Add a reference to README accordingly.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogatherstats.pl: Allow for more than one TLH in config.
Thomas Hochstein [Mon, 1 Nov 2010 20:45:35 +0000 (21:45 +0100)] 
gatherstats.pl: Allow for more than one TLH in config.

New syntax for TLH: tlh1:tlh2:tlh3
Check for illegal characters and reformat to RegExp.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoFix some typos.
Thomas Hochstein [Mon, 1 Nov 2010 00:18:33 +0000 (01:18 +0100)] 
Fix some typos.

groupsstats.pl: Fix typo in lead-in comment.
groupsstats.pl/NewsStats.pm: Fix typo concerning
GetMaxLength - it isn't 'GetMaxLenght' ...

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogatherstats.pl: Change database update mechanism.
Thomas Hochstein [Mon, 1 Nov 2010 17:51:26 +0000 (18:51 +0100)] 
gatherstats.pl: Change database update mechanism.

DELETE old records and INSERT (INTO) the new ones
instead of just REPLACEing them, which will not
remove wrong entries (i.e. non-existing newsgroups).

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogatherstats.pl: Move TLH check to NewsStats.pm.
Thomas Hochstein [Mon, 1 Nov 2010 16:53:14 +0000 (17:53 +0100)] 
gatherstats.pl: Move TLH check to NewsStats.pm.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogatherstats.pl: Add '-l' option.
Thomas Hochstein [Mon, 1 Nov 2010 16:04:05 +0000 (17:04 +0100)] 
gatherstats.pl: Add '-l' option.

Add '-l' option to check newsgroup names against a list of valid
newsgroups read from a file (each group on one line, ignoring
everything after the first whitespace and so accepting files in
checkgroups format as well as (parts of) an INN active file).
New ReadGroupList().
Change ListNewsgroups() accordingly.
Amend documentation accodingly.

See #17.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Precedence of -m / -p / -a
Thomas Hochstein [Mon, 1 Nov 2010 15:20:05 +0000 (16:20 +0100)] 
groupstats.pl: Precedence of -m / -p / -a

Unset -m if either -p or -a is set,
unset -m if -p is set.

Print caption (-c) for -a, too.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Change default output format to 'pretty'.
Thomas Hochstein [Mon, 1 Nov 2010 14:58:07 +0000 (15:58 +0100)] 
groupstats.pl: Change default output format to 'pretty'.

Change documentation accordingly.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Add '-f' option.
Thomas Hochstein [Mon, 1 Nov 2010 14:57:18 +0000 (15:57 +0100)] 
groupstats.pl: Add '-f' option.

Add '-f' switch to save monthly reports to a file with
a filename made up by adding year and month to template
submitted via '-f filename': filename-YYYY-MM
Modify OutputData() accordingly.
Ignore '-c' if '-f' is set.
Allow & force '-o dump' if '-f' is set even if a time
period is defined.
Change documentation accodingly.

Fixes #27.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Add '-a' option.
Thomas Hochstein [Mon, 1 Nov 2010 12:22:15 +0000 (13:22 +0100)] 
groupstats.pl: Add '-a' option.

Add '-a' switch to make groupstats.pl consider its whole
database without any time limits ignoring -m and -p.
Change documentation accodingly.

First implementation. Handling needs improvement!

Fixes #14.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Improve formatting of output.
Thomas Hochstein [Sun, 31 Oct 2010 21:44:00 +0000 (22:44 +0100)] 
groupstats.pl: Improve formatting of output.

Rewrite captions.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Improve automatic adaption of output type.
Thomas Hochstein [Sun, 31 Oct 2010 21:00:16 +0000 (22:00 +0100)] 
groupstats.pl: Improve automatic adaption of output type.

If time period is more than on month, switch from dump
to dumpgroup, if possible (just one newsgroup submitted
via -n), and switch to pretty only if that fails.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Redo level (-l) query, gain speedup.
Thomas Hochstein [Sun, 31 Oct 2010 20:43:18 +0000 (21:43 +0100)] 
groupstats.pl: Redo level (-l) query, gain speedup.

Do the work in the application, using two separate SQL
queries, instead of trying to optimize the single
query in vain ...

Thanks to Juliane. :)

Fixes #16.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Improve comments.
Thomas Hochstein [Sun, 31 Oct 2010 20:39:20 +0000 (21:39 +0100)] 
groupstats.pl: Improve comments.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Refactor query handling.
Thomas Hochstein [Sun, 31 Oct 2010 20:34:04 +0000 (21:34 +0100)] 
groupstats.pl: Refactor query handling.

Don't misuse variables:
- Push other binding vars to (new) @Params instead of
  filling up @GroupList with things it wasn't meant for.
- Replace generic @QueryPart by @QueryGroupList and
  @QueryThreshold, then build $WhereClause from that.
- Don't use $OrderClause for setting level (more or
  less than x), use (new) $Level instead.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoinstall.pl: Change handling of upgrades.
Thomas Hochstein [Sun, 19 Sep 2010 14:53:07 +0000 (16:53 +0200)] 
install.pl: Change handling of upgrades.

Drop predefined actions in favor of arbitrary statements.
Minor code fixup.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoREADME: Fix spelling, small changes.
Thomas Hochstein [Sun, 19 Sep 2010 11:34:27 +0000 (13:34 +0200)] 
README: Fix spelling, small changes.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogatherstats.pl: Add documentation of 'disregard' to POD.
Thomas Hochstein [Sun, 19 Sep 2010 11:32:12 +0000 (13:32 +0200)] 
gatherstats.pl: Add documentation of 'disregard' to POD.

Database entries in DBTableRaw marked 'disregard' will
be ignored by gatherstats. Document that.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agofeedlog.pl: Fix annoying logging error.
Thomas Hochstein [Sun, 19 Sep 2010 11:27:28 +0000 (13:27 +0200)] 
feedlog.pl: Fix annoying logging error.

warn() output to errlog was not activated by '-d' debug
switch, but on by default and just deactivated by '-d'.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoNewsStats.pm: Fix $VERSION and $PackageVersion.
Thomas Hochstein [Sat, 18 Sep 2010 22:21:42 +0000 (00:21 +0200)] 
NewsStats.pm: Fix $VERSION and $PackageVersion.

Set to 0.01 from 0.1

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoinstall.pl: Fix installation instructions.
Thomas Hochstein [Sat, 18 Sep 2010 22:21:12 +0000 (00:21 +0200)] 
install.pl: Fix installation instructions.

Example newsfeeds entry was missing a backslash
(had to be quoted).

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: More input validation.
Thomas Hochstein [Sat, 18 Sep 2010 19:59:13 +0000 (21:59 +0200)] 
groupstats.pl: More input validation.

Set -o to 'pretty' for time periods.
Set -b to 10 if < 1.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoAdd upgrade path.
Thomas Hochstein [Sat, 18 Sep 2010 17:02:46 +0000 (19:02 +0200)] 
Add upgrade path.

NewsStats.pm: Add $PackageVersion.

install.pl: Modularise program flow to subroutines.
            Add framework for database upgrade and
            upgrade instructions.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoIntroduce end-of-line normalization and add .gitattributes.
Thomas Hochstein [Sat, 18 Sep 2010 16:45:20 +0000 (18:45 +0200)] 
Introduce end-of-line normalization and add .gitattributes.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoAdd comments and POD.
Thomas Hochstein [Fri, 17 Sep 2010 19:53:59 +0000 (21:53 +0200)] 
Add comments and POD.

Add comments NewsStats.pm
Add POD to install.pl
Add POD to feedlog.pl
Add POD and comments to gatherstats.pl
Add POD and comments to groupstats.pl, beautify code

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoAdd documentation.
Thomas Hochstein [Fri, 17 Sep 2010 19:16:51 +0000 (21:16 +0200)] 
Add documentation.

Add doc/
Add doc/README
Add doc/INSTALL

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agogroupstats.pl: Add handling of incompatible command line options.
Thomas Hochstein [Sat, 18 Sep 2010 00:12:58 +0000 (02:12 +0200)] 
groupstats.pl: Add handling of incompatible command line options.

-t/-l/-b are incompatible. Print warning, let -l take precedence
over -t and -b over both.

-q/-d are incompatible with -l and -b. Print warning, ignore
them.

For -l, only -o 'pretty' makes sense. Force that.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoinstall.pl: Fix chdir.
Thomas Hochstein [Fri, 17 Sep 2010 21:04:46 +0000 (23:04 +0200)] 
install.pl: Fix chdir.

Don't use path from current working directory, use path
relative to $0 instead.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoNewsStats.pm: Warn when -p takes precedence over -m.
Thomas Hochstein [Fri, 17 Sep 2010 20:26:56 +0000 (22:26 +0200)] 
NewsStats.pm: Warn when -p takes precedence over -m.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoAdd .gitignore
Thomas Hochstein [Fri, 17 Sep 2010 12:29:29 +0000 (14:29 +0200)] 
Add .gitignore

Ignore tools/, tools/* and newsstats.conf.

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoInitial checkin of working branch.
Thomas Hochstein [Fri, 17 Sep 2010 11:50:58 +0000 (13:50 +0200)] 
Initial checkin of working branch.

Checkin of
- NewsStats.pm
- install/install.pl
- feedlog.pl
- gatherstats.pl
- groupstats.pl

Signed-off-by: Thomas Hochstein <thh@inter.net>
13 years agoInitial checkin.
Thomas Hochstein [Fri, 17 Sep 2010 11:49:29 +0000 (13:49 +0200)] 
Initial checkin.

Signed-off-by: Thomas Hochstein <thh@inter.net>
This page took 0.03031 seconds and 4 git commands to generate.