2007-11-05 11:06  rmeden

	* MANIFEST: add eu_epgdata to MANIFEST

2007-11-05 09:24  rmeden

	* Makefile.PL: let ChangeLog on windows be Changelog.txt

2007-11-05 02:14  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: prepare for 0.5.50 release

2007-11-04 20:37  rmeden

	* Makefile.PL: let windows README be README.TXT

2007-11-04 14:28  mattiasholmlund

	* grab/be/tv_grab_be.in, grab/ch_search/tv_grab_ch_search.in,
	  grab/huro/tv_grab_huro.in, grab/it/tv_grab_it.in,
	  grab/uk_bleb/tv_grab_uk_bleb.in, lib/Supplement.pm.in: Fix
	  possible problems with line-endings on Windows.

2007-11-04 13:07  rmeden

	* Makefile.PL: our version numbers aren't numeric.  Use ge not >=

2007-11-04 12:57  knowledgejunkie

	* grab/uk_rt/channel_ids: Removes Discovery Civilisation which
	  ceased broadcasting 2007-10-31. Adds new Discovery Knowledge
	  channel which replaced it on 2007-11-01. There is a new XMLTV ID
	  for Discovery Knowledge (knowledge.discoveryeurope.com). Please
	  update accordingly.

2007-11-04 11:35  mihaas

	* grab/eu_epgdata/tv_grab_eu_epgdata.in: An attempt to fix DSt
	  issues. Now the user has to change the time zone twice a year ;)
	  Also add a little bit of documentation

2007-11-04 01:33  mattiasholmlund

	* lib/Supplement.pm.in: Remove debug printout.

2007-11-03 23:49  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Minor updates to some comments.

2007-11-03 23:35  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Removes restriction on maximum
	  number of fields in channel_ids to allow for future fields now
	  that we have moved to XMLTV::Supplement. Adds comments to this
	  effect and updates relevant error message.

2007-11-03 22:49  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Updates XMLTV project URLs in
	  documentation and XML output. Adds maintainer information.

2007-11-03 22:33  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Adds caching of the Radio Times
	  channels.dat file via XMLTV::Supplement. This file has been
	  missing from the RT site on a fairly regular basis, even though
	  the underlying listings data can be available. This update should
	  stop the uk_rt grabber exiting prematurely if it can still use a
	  cached version of the channels.dat file. The cached file is used
	  automatically if the RT file is missing or if there have been no
	  updates to the file since the last successful grabber run.

2007-11-03 21:35  knowledgejunkie

	* lib/Supplement.pm.in: Fix a couple of inconsistencies in the
	  documentation regarding the name of the XMLTV_SUPPLEMENT variable

2007-11-03 21:29  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Consistency updates for grabber
	  description/documentation

2007-11-03 21:03  knowledgejunkie

	* lib/Supplement.pm.in: Fix an inconsistency in the documentation
	  regarding the default supplement URL

2007-11-02 21:46  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Adds more bad character handling and
	  updates debug output

2007-11-02 15:03  rmeden

	* xmltv.dtd: fix star-rating in DTD

2007-11-01 21:40  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Remove non-title information from a
	  programme's title. Leaving this information in the title results
	  in PVR applications not being able to consistently match
	  programme titles when a programme is shown multiple times and the
	  listings do not consistently include this 'season/strand'
	  information.

2007-11-01 20:55  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Adds descriptions of the 23
	  available Radio Times data fields. Reorganisation of element
	  assignment code to better follow element order in XMLTV DTD
	  specification.

2007-11-01 19:43  sunsetsystems

	* grab/na_dtv/tv_grab_na_dtv: Modified to write output in the
	  selected local time zone, for MythTV compatibility.

2007-11-01 19:37  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Specifies star-rating/recommendation
	  being used by using the star-rating element's new system
	  attribute. Allows multiple star-ratings per programme.

2007-11-01 19:21  knowledgejunkie

	* xmltv.dtd: Updates XMLTV DTD to support multiple star-rating
	  elements within a programme element. Adds a description of the
	  star-rating element's new system attribute and a simple example
	  of flagging a programme as recommended. Ensures all lines in the
	  DTD are no longer than 80 characters.

2007-11-01 00:16  rmeden

	* lib/XMLTV.pm.in, xmltv.dtd: add system attribute  to
	  <star-ratings> and allow multiple star-ratings while keeping
	  backward capability.

2007-10-31 16:22  rmeden

	* choose/tv_check/tv_check: MyReplayTV.com has been discontinued.
	  Display a warning and don't try to get data

2007-10-31 14:46  mattiasholmlund

	* lib/Supplement.pm.in: Documentation changes only.

2007-10-31 06:15  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Major update to Latin-1 extended
	  (non-English) character handling. You should now see the proper
	  French/German/Spanish/Scandinavian characters in the XML output.
	  Please notify xmltv-users of any outstanding bad characters not
	  being handled after this update.

2007-10-31 01:43  mattiasholmlund

	* grab/be/tv_grab_be.PL, grab/be/tv_grab_be.in,
	  grab/ch_search/tv_grab_ch_search.PL,
	  grab/ch_search/tv_grab_ch_search.in, grab/huro/tv_grab_huro.PL,
	  grab/huro/tv_grab_huro.in, grab/it/tv_grab_it.PL,
	  grab/it/tv_grab_it.in, grab/uk_bleb/tv_grab_uk_bleb.PL,
	  grab/uk_bleb/tv_grab_uk_bleb.in, lib/Supplement.pm.in,
	  lib/ValidateFile.pm, lib/exe_wrap.pl, tools/tv_validate_file.PL,
	  tools/tv_validate_file.in, tools/tv_validate_grabber.PL,
	  tools/tv_validate_grabber.in: Use XMLTV::Supplement.

2007-10-31 00:18  knowledgejunkie

	* grab/uk_rt/: tv_grab_uk_rt.PL, tv_grab_uk_rt.in: Adds
	  XMLTV::Supplement support to tv_grab_uk_rt and removes share
	  capability. Removes some minor debugging output for bad RT
	  channels.

2007-10-30 21:50  knowledgejunkie

	* grab/uk_rt/channel_ids: channel_ids update to flag channels
	  currently listed on Radio Times site that are no longer
	  broadcasting or no longer have listings available

2007-10-29 20:25  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Handle Unicode null character
	  (U+0000) in Radio Times data.

2007-10-28 01:25  mattiasholmlund

	* lib/Options.pm: Correct option syntax for --share.

2007-10-28 01:24  mattiasholmlund

	* grab/test_grabbers, lib/Supplement.pm.PL, lib/Supplement.pm.in:
	  Add support for loading supplementary files via http.

2007-10-26 18:25  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Adds support for recommended
	  programmes - these are given a star-rating of 1/1. Commit also
	  includes a small tidy-up of the category logic

2007-10-26 17:14  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Adds support to tv_grab_uk_rt for
	  deaf-signed programmes by using the new subtitles type
	  'deaf-signed'

2007-10-25 15:11  knowledgejunkie

	* grab/uk_rt/test.conf: Removes multiple channels from test.conf -
	  will speed up testing of grabber

2007-10-25 14:52  knowledgejunkie

	* grab/uk_rt/channel_ids: Update for new Dave channels. UKTV
	  G2/Dave transition files are no more. Update your XMLTV configs
	  with the new XMLTV IDs (dave.uktv.co.uk, plus-1.dave.uktv.co.uk)
	  in order to get the new listings

2007-10-25 14:32  knowledgejunkie

	* grab/uk_rt/channel_ids: Disables Front Row listings (no listings
	  data)

2007-10-25 13:48  knowledgejunkie

	* xmltv.dtd: Adds 'deaf-signed' type to subtitles element

2007-10-25 09:32  knowledgejunkie

	* grab/uk_rt/channel_ids: Adds icons for new Dave channels

2007-10-24 17:27  sunsetsystems

	* grab/na_dtv/tv_grab_na_dtv: Switched to always force Hawaii time,
	  thus eliminating issues with DST.

2007-10-23 17:52  knowledgejunkie

	* grab/uk_rt/channel_ids: Replaces UKTV G2 with new Dave channels
	  and removes UKTV Bright Ideas

2007-10-23 00:02  sunsetsystems

	* MANIFEST: added entries for na_dtv

2007-10-21 13:22  mattiasholmlund

	* grab/eu_epgdata/: tv_grab_eu_epgdata.PL, tv_grab_eu_epgdata.in:
	  Make eu_epgdata use XMLTV::Supplement

2007-10-21 13:19  mattiasholmlund

	* MANIFEST, Makefile.PL, lib/Supplement.pm.PL,
	  lib/Supplement.pm.in: Add new module XMLTV::Supplement.

2007-10-20 19:03  sunsetsystems

	* grab/na_dtv/tv_grab_na_dtv: removed reliance on local computer
	  time zone setting

2007-10-19 22:25  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Should remove remaining occurences
	  of character information in <actor> elements

2007-10-18 23:02  sunsetsystems

	* grab/na_dtv/tv_grab_na_dtv: added logic to skip duplicated
	  channel numbers

2007-10-16 20:24  knowledgejunkie

	* grab/uk_rt/channel_ids: Adds a new channel icon (that I submitted
	  to Lyngsat last week) for Virgin 1

2007-10-13 09:15  sunsetsystems

	* grab/na_dtv/tv_grab_na_dtv: removed non-working cache capability

2007-10-12 12:49  sunsetsystems

	* Makefile.PL: new directv grabber

2007-10-12 01:43  sunsetsystems

	* grab/na_dtv/: test.conf, tv_grab_na_dtv: new directv grabber

2007-10-11 23:21  rmeden

	* grab/na_dd/tv_grab_na_dd.in: shorten summary line so it's 80
	  character safe (man page)

2007-10-11 23:20  rmeden

	* Makefile.PL: shorten some grabber descriptions so it fits in 80
	  columns

2007-10-09 06:36  mihaas

	* grab/eu_epgdata/: channel_ids, tv_grab_eu_epgdata.PL,
	  tv_grab_eu_epgdata.in: Add grabber for www.epgdata.com

2007-10-09 06:35  mihaas

	* Makefile.PL: Add tv_grab_eu_epgdata to makefile

2007-10-09 02:36  dubman

	* Makefile.PL, doc/exe_build.html, grab/il/tv_grab_il: replace
	  Locale::Hebrew module to Text::Bidi due licensing problems

2007-10-08 13:36  mnbjhguyt

	* grab/it/test.conf: changed a channel giving problems due to
	  backend

2007-10-02 15:01  reudeudeu

	* grab/fr/tv_grab_fr: Apply patches from SkipCool:  - Improve
	  autocorrect option between 2 days  - Parse properly actors fields
	  - Parse properly directors field

2007-10-02 13:20  reudeudeu

	* grab/fr/tv_grab_fr:  - Better detection of colour and black&white
	  programs

2007-10-02 06:10  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Improves the handling of bad
	  characters in the RT data and adds information about the
	  removal/replacement of these characters. Thanks to brharris for
	  the initial patch, which I have expanded upon and localised
	  within the uk_rt grabber.

2007-10-02 00:45  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: After further testing, change
	  replacement character from ' to ? when new bad characters are
	  detected

2007-10-02 00:26  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Update to fix recent occurences of
	  bad characters in descriptions

2007-10-02 00:14  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Update to fix notadditive grabber
	  validation error

2007-10-01 09:15  rmeden

	* README, doc/README.win32: fix spelling errors.. oops

2007-10-01 08:27  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: prepare for 0.5.49 release

2007-09-26 21:35  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Adds handling of undefined hash
	  references when we encounter a channel not found in channel_ids.
	  Also tidies up a few warnings.

2007-09-26 21:33  knowledgejunkie

	* grab/uk_rt/channel_ids: Adds support for new Virgin 1 channel

2007-09-26 10:45  betlit

	* grab/ch_search/: channel_ids, tv_grab_ch_search.in: added --slow
	  parameter. if it is NOT supplied the grabber only gets some
	  essential information from the main program page (== one http
	  request per channel and day).

	  with --slow, more information (displayed in a pop up window) is
	  grabbed which takes _much_ longer (one http request per program).

2007-09-25 20:40  rmeden

	* grab/na_dd/tv_grab_na_dd.in: more minor doc changes by "Marr"
	  <marr@copper.net>

2007-09-25 11:47  cpicton

	* grab/za/tv_grab_za: Ensure previous fix works for multiple days
	  as well as single days

2007-09-25 00:28  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Update to handle strange punctuation
	  characters for single/double quotes and hyphens seen occasionally
	  in recent Radio Times data. Thanks to Niel Markwick for the
	  patch.

2007-09-25 00:13  rmeden

	* grab/na_dd/tv_grab_na_dd.in: for some reason adding one second
	  seems to fix the UTC midnight "bad date" problem

2007-09-24 23:58  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Update to fix ProgressBar exceptions
	  when bar is updated when already finished (bug #1767747). Commit
	  also adds some simple totals of channels available/configured.

2007-09-23 16:06  cpicton

	* grab/za/tv_grab_za: Update tv_grab_za to work with new site
	  format

2007-09-23 15:26  rmeden

	* choose/tv_check/tv_check: improve repeat detection

2007-09-23 02:25  mattiasholmlund

	* grab/dtv_la/tv_grab_dtv_la: Remove unsupported cache capability.
	  Move global variables to make them available everywhere (makes
	  --quiet work properly).

2007-09-22 06:19  mattiasholmlund

	* MANIFEST, Makefile.PL: Move grab/dtv to grab/dtv_la. Disable
	  tv_grab_is and tv_grab_br.

2007-09-21 13:26  mattiasholmlund

	* tools/tv_find_grabbers: tv_find_grabbers: Add a --verbose option.
	  Print an error on timeout.

2007-09-20 16:13  mnbjhguyt

	* grab/it/tv_grab_it.in: more fixes for --quiet

2007-09-18 15:47  mnbjhguyt

	* grab/it/tv_grab_it.in: should fix the --notquiet errors in
	  http://www.xmltv.se/validator/nightly/

2007-09-18 00:27  rmeden

	* grab/na_dd/tv_grab_na_dd.in: more minor doc changes by "Marr"
	  <marr@copper.net>

2007-09-16 22:32  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add documentation patch from Marr
	  <marr@copper.net>

2007-09-12 23:33  rmeden

	* grab/na_dd/tv_grab_na_dd.in: get rid of annoying warning when no
	  config file exists

2007-09-12 17:54  attila_nagy

	* grab/huro/tv_grab_huro.in:  - Filtering out advertisement:
	  "Megvsrolhat DVD-n", "Megvsrolhat VHS-en"

2007-09-12 17:45  attila_nagy

	* grab/huro/tv_grab_huro.in:  - Fixed bug: multiday listings missed
	  programs after 20:00
	   - Fixed request #1671194

2007-09-12 13:57  mattiasholmlund

	* grab/: br_net/test.conf, no_gfeed/test.conf: Updated
	  configuration files to fix validation errors.

2007-09-11 22:33  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add --notrim optoin and fix empty
	  write to STDOUT

2007-09-10 14:55  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add support for digital TV
	  subchannels

2007-09-09 16:11  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add back --padd option... for bad
	  time issues.	Detect and print a nice message if <program> tag
	  not found

2007-09-06 14:50  rmeden

	* grab/na_dd/tv_grab_na_dd.in: allow <NEW> flag to be used for
	  SHows, not just EPisodes

2007-09-06 02:34  eborn

	* grab/nl/tv_grab_nl: Added the preferredmethod capability and set
	  it to 'allatonce' (fixes req #1788643)

2007-09-04 04:42  gawen

	* grab/pt/tv_grab_pt: site layout has changed... again

2007-08-30 02:49  christianw

	* grab/no_gfeed/tv_grab_no_gfeed.PL: Changed the url to a new host.

2007-08-29 00:51  rmeden

	* choose/tv_check/tv_check, grab/na_dd/tv_grab_na_dd.in: tweak
	  repeat detection a little more

2007-08-28 10:01  rmeden

	* choose/tv_check/tv_check: Deal with repeats after tv_grab_na_dd
	  changes

2007-08-26 00:28  rmeden

	* grab/na_dd/tv_grab_na_dd.in: force usernames to lower case

2007-08-22 12:04  rmeden

	* grab/na_dd/tv_grab_na_dd.in: set previously-shown for "not new"
	  if the type is an EPisode

2007-08-22 11:30  rmeden

	* grab/na_dd/tv_grab_na_dd.in: DD "Original-Air-Date" was setting
	  {Date}.  Should have set {previously-shown}.	Now setting both
	  for compatability.  In addition DD {repeat} was been replaced
	  with {new}

2007-08-22 01:55  knowledgejunkie

	* grab/uk_rt/channel_ids: Removes a channel no longer carried by
	  Radio Times

2007-08-21 21:43  knowledgejunkie

	* grab/uk_rt/channel_ids: Updates a couple of channel icons

2007-08-21 20:18  knowledgejunkie

	* grab/uk_rt/channel_ids: Adds Channel 4 +1 to available listings

2007-08-20 17:51  rmeden

	* README, doc/README.win32, lib/XMLTV.pm.in, lib/exe_wrap.pl:
	  prepare for 0.5.48 release

2007-08-20 17:32  rmeden

	* grab/na_sd/tv_grab_na_sd.PL, grab/na_sd/tv_grab_na_sd.in,
	  MANIFEST, Makefile.PL: remove tv_grab_na_sd  now tv_grab_na_dd

2007-08-20 16:35  rmeden

	* grab/: na_dd/tv_grab_na_dd.in, na_sd/tv_grab_na_sd.in: replace
	  _na_dd with _na_sd (overwrite old na_dd)

2007-08-20 09:05  rmeden

	* grab/na_sd/tv_grab_na_sd.in: DD prog-id is now 8 characters.
	  properly parse it

2007-08-16 01:31  rmeden

	* grab/na_sd/tv_grab_na_sd.in: minor documentation changes

2007-08-11 18:58  rmeden

	* grab/na_sd/tv_grab_na_sd.in: remove some more zap2it references

2007-08-11 12:39  rmeden

	* MANIFEST, Makefile.PL, grab/na_sd/tv_grab_na_sd.PL,
	  grab/na_sd/tv_grab_na_sd.in: add tv_grab_na_sd -- US/Canada
	  grabber for Schedules Direct

2007-08-04 18:47  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Fixes i) XML output containing
	  copyright/stauts information when piping output, and ii) a bad
	  update causing crash in Term::ProgressBar when not run from a
	  terminal. Many thanks to Niel Markwick for providing a patch.

2007-08-03 01:45  knowledgejunkie

	* grab/uk_rt/channel_ids: Update 2 XMLTV IDs (Sky Movies Premiere
	  +1 and Travel Channel +1) for more consistent +1 channel
	  identification. If you use these channels you will need to update
	  your configuration file

2007-08-03 01:24  knowledgejunkie

	* grab/uk_rt/channel_ids: Cartoon Network Too channel now fixed
	  properly on RT site

2007-08-01 19:20  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: prepare for 0.5.47 release

2007-07-30 10:45  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Capitalise and also stop the
	  duplication of film category element in XML output

2007-07-30 10:40  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Revert an unused ProgressBar
	  parameter included in previous commit

2007-07-29 04:27  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Improves progress bars for channel
	  and listings downloads in non-quiet mode.

2007-07-28 03:12  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Removes STDOUT/STDERR output when
	  [--quiet] option is used, updates program/usage information,
	  improves some warning messages

2007-07-26 21:11  knowledgejunkie

	* grab/uk_rt/tv_grab_uk_rt.in: Provides a workaround for duplicate
	  channel names on Radio Times site

2007-07-26 18:14  knowledgejunkie

	* grab/uk_rt/channel_ids: uk_rt channel_ids update for several new
	  channels

2007-07-23 07:56  gawen

	* grab/pt/tv_grab_pt: bugfixing

2007-07-23 04:57  gawen

	* grab/pt/tv_grab_pt: p+a working and some more meta info.

2007-07-17 06:17  ngarratt

	* grab/za/tv_grab_za: More channel fixups Get channel lists from
	  main page instead of listing page Remove [Dolby 5.1] tag now that
	  MythTV reads audio attributes

2007-07-16 00:55  rmeden

	* grab/na_dd/tv_grab_na_dd.in: progress bar getting picky about
	  setting same limit twice.. let's avoid the issue

2007-07-13 06:36  ngarratt

	* grab/za/tv_grab_za: Discovery channel renamed Cleaned up
	  subtitles regular expressions

2007-07-13 04:59  ngarratt

	* grab/za/test.conf: Update test configuration for channel changes

2007-07-11 17:30  rmeden

	* lib/exe_wrap.pl: tv_grab_ch_search needs a --share directory..
	  let's give it one.

2007-07-10 15:05  rmeden

	* README: keep trying to put out a fix release!

2007-07-10 15:03  rmeden

	* MANIFEST: Fix MANIFEST ( make manifest caused probems!)

2007-07-10 09:52  rmeden

	* grab/na_dd/tv_grab_na_dd.in: fix case where "progress bar already
	  finished" shows up in some data sets

2007-07-10 09:18  rmeden

	* Makefile.PL: remove tv_grab_ch_bluewin  (ident blocked)

2007-07-10 05:22  ngarratt

	* grab/za/tv_grab_za: Handle missing listing data better GO channel
	  fixup Fix silent output

2007-07-09 23:36  rmeden

	* MANIFEST, Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: prepare for 0.5.46 release

2007-07-09 16:44  rmeden

	* grab/na_dd/tv_grab_na_dd.in: more taking advantage of zap2it
	  outage to improve error handling

2007-07-09 14:56  rmeden

	* grab/na_dd/tv_grab_na_dd.in: improve transport error messaging

2007-07-05 21:02  rmeden

	* grab/na_dd/tv_grab_na_dd.in: make dropbadchars plural so it works
	  both singular nad plural.

2007-07-05 04:47  gawen

	* grab/pt/tv_grab_pt: full description

2007-07-04 18:17  rmeden

	* grab/na_dd/tv_grab_na_dd.in: combine error, reference data, and
	  schedule pass.  20% faster!

2007-07-04 14:57  reudeudeu

	* grab/fr/tv_grab_fr: - Improve parsing of genre, subgenre and date
	  fields - autocorrect option is now ON by default, deactivate it
	  with --noautocorrect

2007-07-04 01:35  mnbjhguyt

	* grab/it/: channel_ids, tv_grab_it.in: updated to reflect source
	  site update

2007-07-03 16:58  knowledgejunkie

	* grab/uk_rt/channel_ids: uk_rt channels update for Discovery
	  Channel +1.5 from Nick Morrott

2007-07-03 12:53  va1210

	* grab/fi/tv_grab_fi: Added changes to grabber required by recent
	  changes to the telkku.com site

2007-07-02 10:06  gawen

	* grab/pt/tv_grab_pt: bugfixing

2007-07-02 09:31  gawen

	* grab/pt/tv_grab_pt: bugfix

2007-07-02 09:12  gawen

	* grab/pt/tv_grab_pt: bugfixes and categories

2007-07-02 08:13  gawen

	* grab/pt/tv_grab_pt: icons work again

2007-07-02 04:43  gawen

	* grab/pt/tv_grab_pt: turn script compliant with latest tvcabo site
	  changes

2007-07-01 02:48  reudeudeu

	* grab/fr/tv_grab_fr: Creation	- Check if the presenter element is
	  not empty  - Add the autocorrect option, thanks to tigerlol for
	  that

2007-06-28 17:21  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add --dropbadchar option to drop bad
	  non UTF-8 characters from data direct

2007-06-28 15:54  mattiasholmlund

	* tools/tv_validate_file.in: Better error-messages in
	  tv_validate_file. Patch by Chris Butler.

2007-06-28 15:46  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb.in: Use more verbose errormessages
	  to help troubleshooting.

2007-06-28 14:51  car_unlp

	* MANIFEST, Makefile.PL, grab/dtv_la/test.conf,
	  grab/dtv_la/tv_grab_dtv_la: Added Latin American grabber

2007-06-26 21:18  rmeden

	* MANIFEST, Makefile.PL, grab/de_tvtoday/channel_ids,
	  grab/de_tvtoday/test.conf, grab/de_tvtoday/tv_grab_de_tvtoday.PL,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in: remove de_tvtoday and _de
	  due to strict German copyright laws

2007-06-26 15:28  reudeudeu

	* grab/fr/tv_grab_fr:  - Better parsing for actorname

2007-06-21 03:07  ngarratt

	* grab/za/tv_grab_za: Minor fix for incomplete titles

2007-06-20 20:06  knowledgejunkie

	* grab/uk_rt/channel_ids: Adds 3 new channels and removes 1 old
	  channel for tv_grab_uk_rt grabber

2007-06-15 05:32  knowledgejunkie

	* grab/uk_rt/channel_ids: uk_rt channel icon updates

2007-06-11 08:58  ngarratt

	* grab/za/tv_grab_za: Remove OpenTime options (defunct service)
	  Move event post-processing to separate sub Fix incomplete title
	  processing Handle subtitles and dolby digital tags

2007-05-31 17:29  car_unlp

	* grab/ar/tv_grab_ar: Disable random delay from get_nice_tree

2007-05-27 05:02  mnbjhguyt

	* grab/it/: channel_ids, tv_grab_it.in: boingtv,it fixed (thanks
	  Paolo Asioli)

2007-05-22 11:33  car_unlp

	* grab/ar/tv_grab_ar: Correct stoptime issue

2007-05-11 11:55  betlit

	* grab/ch_search/tv_grab_ch_search.in: added a line to strip
	  illegal characters from description.

2007-05-10 14:53  reudeudeu

	* grab/fr/tv_grab_fr: Add nouveau canal sat channels in the grabber
	  option

2007-05-09 16:52  attila_nagy

	* grab/huro/tv_grab_huro.in:  - Leftover JavaScript method (putbox)
	  is filtered from the description

2007-05-02 00:51  car_unlp

	* grab/ar/tv_grab_ar: Disable winter/summer mode for utc_offset

2007-04-30 05:41  gawen

	* grab/pt/tv_grab_pt: bugfixes

2007-04-27 20:21  knowledgejunkie

	* grab/uk_rt/channel_ids: tv_grab_uk_rt channel name/icon updates
	  (Sky Movies channels and others) from Nick Morrott

2007-04-26 14:57  rmeden

	* Makefile.PL, grab/na_icons/tv_grab_na_icons.in: add XML::Twig
	  version dependancy

2007-04-26 12:12  nielm

	* grab/be/channel_ids_nl: fixed duplicate tv5 channel

2007-04-26 03:51  nielm

	* grab/be/tv_grab_be.in: Improved configuration questions for TK
	  mode. Now uses ask_many_boolean

2007-04-26 03:50  nielm

	* grab/be/channel_ids_nl: Added new channel IDs and logo URLs

2007-04-25 13:17  mattiasholmlund

	* grab/: hr/test.conf, no_gfeed/test.conf, se_swedb/test.conf:
	  Change cache location again to make it universally available.

2007-04-25 01:08  rmeden

	* grab/na_icons/tv_grab_na_icons.in: fixes in response to data
	  source changes

2007-04-24 15:43  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb.in: Die if the configuration
	  hasn't been completed before grabbing data.

2007-04-24 15:38  mattiasholmlund

	* grab/: hr/test.conf, no_gfeed/test.conf, se_swedb/test.conf: Use
	  paths that will work for more users.

2007-04-24 12:44  mattiasholmlund

	* MANIFEST, Makefile.PL: Add tv_grab_no_gfeed

2007-04-21 07:03  christianw

	* grab/no_gfeed/tv_grab_no_gfeed.PL: Accidentally left in some
	  debug stuff.

2007-04-20 03:51  christianw

	* grab/no_gfeed/tv_grab_no_gfeed: I accidentally submitted the
	  compiled version of the grabber... The grabber is autogenerated
	  from the .PL file.

2007-04-20 03:50  christianw

	* grab/no_gfeed/: test.conf, tv_grab_no_gfeed, tv_grab_no_gfeed.PL:
	  First commit of the new BETA grabber for Norway.

2007-04-15 11:19  va1210

	* grab/fi/: test.conf, tv_grab_fi: Added new feature for
	  semi-automatic retrieval of episode names from title/description
	  (Check the code and/or the test.conf-file for examples).

2007-04-15 08:56  ecastelnau

	* grab/nc/tv_grab_nc:
	  Update to reflect website latest changes

2007-04-15 08:32  ecastelnau

	* grab/re/tv_grab_re:
	  Update tv_grab_re to reflect website latest changes

2007-04-13 01:36  ngarratt

	* grab/za/tv_grab_za: Fix GO channel mapping on mnet.co.za

2007-04-09 07:16  ma_begaj

	* grab/de_tvtoday/tv_grab_de_tvtoday.in:
	  --configure repaired. tvtoday changed design again a little bit.

2007-04-02 03:55  ma_begaj

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: A lot of small changes,
	  html converting, sub-title is working now, star-rating added,
	  more checkings for description

2007-03-30 20:17  ma_begaj

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Showview repaired,
	  striping html repaired

2007-03-30 18:17  ma_begaj

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Clean up, converting utf
	  chars to 8859-1 etc

2007-03-30 17:48  ma_begaj

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Added HTML converter

2007-03-30 15:29  ma_begaj

	* Makefile.PL: Removed Time::Local dependency for tv_today

2007-03-30 15:20  ma_begaj

	* grab/de_tvtoday/: test.conf, tv_grab_de_tvtoday.in: Removed time
	  module, created new test.conf

2007-03-30 08:42  rmeden

	* Makefile.PL, grab/de_tvtoday/tv_grab_de_tvtoday.in: bring
	  tv_grab_de_tvtoday back to life with patch by "Ma Begaj"
	  <derliebegott@gmail.com>

2007-03-30 05:05  ngarratt

	* grab/za/tv_grab_za: Fix new channel mappings on mnet.co.za

2007-03-29 12:44  mnbjhguyt

	* grab/it/tv_grab_it.in: removed useless XML::Simple dependency

2007-03-29 12:23  rmeden

	* Makefile.PL: require XML::Simple for tv_grab_it

2007-03-28 06:13  mnbjhguyt

	* grab/it/tv_grab_it.in: minor but important update for skylife

2007-03-26 22:02  knowledgejunkie

	* doc/QuickStart: Add tv_grab_uk_bleb, tv_grab_ar details

2007-03-26 22:01  knowledgejunkie

	* Makefile.PL: Update tv_grab_uk_rt entry

2007-03-25 09:51  rmeden

	* MANIFEST, Makefile.PL: remove broken tv_grab_de_tvtoday

2007-03-19 16:29  attila_nagy

	* grab/huro/tv_grab_huro.in:  - Added fix for converting the new
	  time format (H:MM) to the old (HH:MM),
	  this fixes the program sorting. (Could be a problem for different
	  clients)  - Added the adverticum.net to the blacklist

2007-03-11 23:58  rmeden

	* Makefile.PL: fix typo when tv_grab_nc was added.

2007-03-11 00:52  ecastelnau

	* Makefile.PL, grab/nc/test.conf, grab/nc/tv_grab_nc:
	  Initial load of tv_grab_nc. Grabber for Nouvelle Caledonie
	  (France)

2007-03-09 23:19  knowledgejunkie

	* grab/uk_rt/: channel_ids, test.conf: uk_rt channels update from
	  Nick Morrott. Some IDs and/or channel names have changed, so
	  please check your grabber configuration after installation.

2007-03-07 06:31  mattiasholmlund

	* grab/za/: test.conf, tv_grab_za: Make tv_grab_za baseline
	  compliant. Patch from Neil Garratt

2007-03-05 16:05  gawen

	* grab/pt/tv_grab_pt: there is a channel with ':' on the identifier

2007-03-01 04:58  gawen

	* grab/pt/tv_grab_pt: Adapted to the latest TVCabo site.

2007-02-22 18:56  knowledgejunkie

	* grab/uk_rt/channel_ids: uk_rt Film4 +1 update from Nick Morrott

2007-02-22 18:53  knowledgejunkie

	* grab/uk_rt/channel_ids: uk_rt Film4 +1 update from Nick Morrott

2007-02-20 15:00  va1210

	* grab/fi/tv_grab_fi: Added fix to ensure compatibility with
	  TreeBuilder v. 3.22 and above.

2007-02-20 09:10  nielm

	* grab/be/: channel_ids_fr, channel_ids_nl, tv_grab_be.in:
	  Implemented patch 1643461 to fix channel_ids_fr fixed french mode
	  grabber -- changed to grab from www.telemoustique.be Fixed
	  channel_ids_nl to use lyngsat-logo.com

2007-02-20 02:26  betlit

	* grab/ch_search/tv_grab_ch_search.in: the start-date of shows
	  starting after midnight was not adjusted.

2007-02-18 09:36  rmeden

	* README: add note about new windows build instructions

2007-02-18 09:26  rmeden

	* MANIFEST, doc/exe_build.html: add Richard Turnbull's xmltv.exe
	  instructions

2007-02-17 07:22  mnbjhguyt

	* grab/it/tv_grab_it.in: new backends added: - skylife (soon to
	  replace skytv, site is changing) - sitcom1 (1 channel grabber)

2007-02-17 07:21  mnbjhguyt

	* grab/it/tv_grab_it.PL: updated pod

2007-02-17 07:21  mnbjhguyt

	* grab/it/channel_ids: new channels and new backends

2007-02-14 05:54  b4max

	* grab/br_net/test.conf: added new channel TV5 (french)

2007-02-11 16:14  mbdev

	* grab/huro/tv_grab_huro.in: timeformat changes in site: 09:50 ->
	  9:50, patch of users trondmm and vnicolici applied

2007-02-08 19:41  knowledgejunkie

	* grab/uk_rt/channel_ids: uk_rt channels update from Nick Morrott

2007-02-05 10:26  betlit

	* grab/ch_search/: tv_grab_ch_search.in, channel_ids, test.conf,
	  tv_grab_ch_search.PL: new grabber tv_grab_ch_search

2007-02-05 05:06  betlit

	* Makefile.PL: new grabber tv_grab_ch_search

2007-01-23 16:21  mbdev

	* grab/huro/tv_grab_huro.in: Applied patch made by Attila Nagy:
	  design of port.hu/port.ro site was changed, the detailed grabing
	  works again (long desc, duration, actors ...)

2007-01-13 12:06  car_unlp

	* grab/ar/tv_grab_ar: Improve performance for:	  - Adjusting
	  stoptime of overlapped programs when a threshold value is not
	  exceded    - Trim white spaces from channel names    - Notify
	  overlapping programs to stderr    - Notify corrected stoptime
	  when possible

2007-01-13 11:56  car_unlp

	* grab/ar/test.conf: Test configuration files for each grabber.

2007-01-13 07:57  mnbjhguyt

	* grab/it/tv_grab_it.in: new backend boingtv.it added new option
	  --cache-slow added

2007-01-13 07:56  mnbjhguyt

	* grab/it/tv_grab_it.PL: updated pod

2007-01-13 07:56  mnbjhguyt

	* grab/it/channel_ids: new channels added

2007-01-12 14:08  jveldhuis

	* lib/IMDB.pm: fixed size estimates to work with .gz list files,
	  updated estimate calcs

2007-01-12 02:22  knowledgejunkie

	* grab/uk_rt/channel_ids: Channel update from Nick Morrott

2007-01-05 00:02  rmeden

	* MANIFEST, Makefile.PL, grab/ar/tv_grab_ar: initial load,
	  tv_grab_ar

2006-12-29 07:43  mattiasholmlund

	* grab/es_laguiatv/tv_grab_es_laguiatv: Fix description to use the
	  same format as the other grabbers.

2006-12-29 07:41  mattiasholmlund

	* grab/combiner/tv_grab_combiner: If there are several grabbers
	  with the same description, use the one that comes first in PATH.
	  Cosmetic fixes.

2006-12-29 07:04  mattiasholmlund

	* MANIFEST, Makefile.PL, grab/combiner/tv_grab_combiner: New
	  grabber tv_grab_combiner.

2006-12-20 09:31  rmeden

	* grab/na_dd/tv_grab_na_dd.in: display a better error message on
	  password failures

2006-12-17 02:34  rmeden

	* choose/tv_check/tv_check: fix dupe handling to prevent false
	  positives. now print a show even if shows.xml has a bad {day}
	  entry.

2006-12-04 15:51  mnbjhguyt

	* grab/it/channel_ids: new channels

2006-12-03 13:22  rmeden

	* grab/na_dd/tv_grab_na_dd.in: exit data loading subroutine
	  properly when there's an early date

2006-12-02 20:02  rmeden

	* grab/na_dd/tv_grab_na_dd.in: do a better job of preventing the
	  register_ns redefinition warning

2006-12-02 18:52  mattiasholmlund

	* grab/test_grabbers: Remove failed attempt at threading. Threads
	  and alarm() don't work together.

2006-12-02 11:11  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: prepare for 0.5.45 release

2006-12-01 16:22  mattiasholmlund

	* grab/test_grabbers: Remove debug output.

2006-12-01 15:02  mattiasholmlund

	* lib/ValidateFile.pm: Test for invalid episode-numbers

2006-12-01 14:59  mattiasholmlund

	* grab/test_grabbers: Use several threads to speed up testing

2006-12-01 14:50  mattiasholmlund

	* grab/hr/test.conf: Use a more reliable set of channels

2006-11-30 18:23  betlit

	* grab/ch_bluewin/test.conf: [no log message]

2006-11-30 18:15  christianw

	* grab/no/tv_grab_no: Added new IDs. Should work now.

2006-11-30 15:44  zcougar

	* grab/ee/test.conf: ! config file update. cachedir missing before
	  and test failed because of this

2006-11-30 15:36  zcougar

	* grab/ee/tv_grab_ee: ! keep tab indent instead of spaces (need to
	  add some emacs/vim code probably)

2006-11-30 13:36  mattiasholmlund

	* MANIFEST, Makefile.PL, grab/ee/tv_grab_ee,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Options.pm,
	  lib/PreferredMethod.pm: Implement support for the
	  --preferredmethod capability and add it to ee and uk_rt

2006-11-30 13:13  mattiasholmlund

	* lib/Version.pm: Add documentation.

2006-11-30 03:02  betlit

	* grab/ch_bluewin/tv_grab_ch_bluewin.in: fixed a bug which ignored
	  some shows.

2006-11-29 11:06  rmeden

	* grab/na_dd/tv_grab_na_dd.in: trim programs that begin before
	  start_time to avoid splitting issues

2006-11-29 06:55  betlit

	* grab/ch_bluewin/: channel_ids, tv_grab_ch_bluewin.in: new version
	  of tv_grab_ch_bluewin. adapted to the new design of the
	  bluewin-page.  thanks to ren bhlmann wo did most of the
	  adaption for the new design!

2006-11-20 07:38  zcougar

	* grab/ee/: test.conf, tv_grab_ee: + use transparentcache if
	  available (not required) + XMLTV postprocessing with following
	  features (needs reconfiguration):   * strips genrenames from
	  title   * extracts country and year information from movies
	  titles   * splits titles with series names to title and subtitle
	  * extracts episode numbers from series titles and subtitles	 *
	  detects previously shown shows   * extracts stereo, teletext and
	  aspect ratios from descriptions   * changes category names so
	  that only first char is uppercase

2006-11-20 00:36  rmeden

	* grab/na_dd/tv_grab_na_dd.in: Hack to shorten SOAP request going
	  to DD servers by restricting schemas listed in the request.  This
	  will hopefully get around a DD server bug causing "Invalid Time"
	  errors when a request spans packets.

2006-11-19 01:53  jveldhuis

	* lib/IMDB.pm: fixed sanity check failure due to imdb refining year
	  of Army of Darkness, thx Dan Hopper

2006-11-15 08:00  dubman

	* grab/il/tv_grab_il: adopt changes from yes-ru grabber site

2006-11-09 15:04  va1210

	* grab/fi/tv_grab_fi: Increased default --days option from 10 to
	  14, i.e. all available data.

2006-11-06 11:13  va1210

	* grab/fi/tv_grab_fi: telkku.com changed time delimiter from colon
	  to period

2006-11-05 03:22  dubman

	* grab/il/tv_grab_il: channelnoprogramme: resolve validate errors

2006-10-27 15:34  reudeudeu

	* grab/fr/tv_grab_fr: Creation	- Add patch for wron showview
	  fields  - --perdays mode is now default mode

2006-10-13 17:25  knowledgejunkie

	* grab/uk_rt/channel_ids: Channel updates from Nick Morrott

2006-10-11 13:31  rmeden

	* grab/na_dd/tv_grab_na_dd.in: fix DD soap call syntax ( been wrong
	  all this time! )

2006-10-04 04:04  zcougar

	* grab/ee/tv_grab_ee: Remove default days hack plus some comments

2006-09-30 03:06  mattiasholmlund

	* grab/se_swedb/test.conf: Remove channel that is no longer
	  available.

2006-09-26 15:24  zcougar

	* grab/ee/test.conf, grab/ee/tv_grab_ee, lib/Configure.pm,
	  lib/Options.pm: Sourceforge patch #1560348: * Added new grabber
	  for Estonian tv stations (and other channels visible	 in
	  Estonia) based on www.kava.ee listings. Old grabber is not
	  working any	more.  * use UTF-8 for STDERR terminal output if
	  UTF-8 encoding configured * when writing channel config keep
	  original encoding * make it possible for external modules to get
	  output file handle   (XML::Writer uses STDIO instead of default
	  output if not specified)

2006-09-25 00:12  rmeden

	* choose/tv_check/tv_check: fix feature (it was intentional) that
	  would prevent a moved MyReplayTV show from showing up.  Don't
	  remember why this was done, but not a good idea!

	  Add dupe check for same show on multiple MyReplayTV units.

2006-09-24 13:44  reudeudeu

	* grab/fr/tv_grab_fr: Now manage properly --perdays, --offset and
	  --days options together

2006-09-22 06:49  b4max

	* grab/br_net/tv_grab_br_net: syntax error

2006-09-20 08:29  rmeden

	* grab/uk_rt/channel_ids: submit update from nick

2006-09-19 15:17  reudeudeu

	* grab/fr/tv_grab_fr: Argh

2006-09-19 00:47  reudeudeu

	* grab/fr/tv_grab_fr: ake care of --days and --ofset in --perdays
	  mode

2006-09-18 12:05  b4max

	* grab/br_net/tv_grab_br_net: fixed crash when there is no data
	  available

2006-09-17 15:19  reudeudeu

	* grab/fr/tv_grab_fr: Oopps... Thanks to Jhereg, a quick patch that
	  now grab correctly many days and not only one.

2006-09-15 15:01  reudeudeu

	* grab/fr/tv_grab_fr: Add a mode to grab data on a day by day basis
	  with the --perdays option. The default mode is still the week
	  mode.

2006-09-12 07:17  b4max

	* grab/br_net/tv_grab_br_net: added error for empty configfile

2006-09-11 19:16  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add --padd option to deal with bad
	  startTime warnings from DD

2006-09-03 06:49  b4max

	* grab/br_net/tv_grab_br_net: improved error handling

2006-08-31 16:16  betlit

	* grab/ch_bluewin/channel_ids: argh... the channel is named 3+ not
	  S3... sorry.

2006-08-31 16:02  betlit

	* grab/ch_bluewin/: channel_ids, tv_grab_ch_bluewin.in: - bluewin
	  sometimes includes has some strange non standard (control)
	  characters int he description which xmltv can't handle.  added a
	  regexp to remove those chars - new channel 'S3' added

2006-08-20 07:27  ecastelnau

	* grab/re/tv_grab_re: Fixe a bug when no data is available for a
	  particular channel from canalsat-reunion.com

2006-08-17 16:50  axis3x3

	* grab/uk_rt/: channel_ids, tv_grab_uk_rt.in: Added channel icon
	  URLs to tv_grab_uk_rt.

2006-08-16 15:59  mnbjhguyt

	* grab/it/tv_grab_it.in: fixes to skytv skytv now handles
	  categories when using --slow

2006-08-15 07:21  ecastelnau

	* grab/re/: test.conf, tv_grab_re: --slow option did not work due
	  to site changes. Now it's fixed.

2006-07-27 06:32  mattiasholmlund

	* MANIFEST, Makefile.PL, grab/hr/test.conf, grab/hr/tv_grab_hr.PL:
	  Add new grabber for Croatia.

2006-07-23 14:14  betlit

	* grab/ch_bluewin/tv_grab_ch_bluewin.in: bluewin.ch made some
	  changes on the details page (javascript script-related) which
	  caused the grabber to be unable to separate titles and (optional)
	  subtitle of the show

2006-07-20 15:28  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: improved category and
	  sub-title recognition, patch by bhaak

2006-07-20 14:56  stesie

	* lib/exe_wrap.pl: adjusted for new tv_grab_ch_bluewin.

2006-07-20 14:54  stesie

	* doc/QuickStart: updated list of available grabbers.

2006-07-20 14:28  stesie

	* grab/ch_bluewin/test.conf: added test.conf file for automatic
	  grabber checking

2006-07-20 10:51  stesie

	* grab/ch_bluewin/channel_ids,
	  grab/ch_bluewin/tv_grab_ch_bluewin.PL,
	  grab/ch_bluewin/tv_grab_ch_bluewin.in, MANIFEST, Makefile.PL:
	  adding Daniel Bittel's <daniel.bittel@solnet.ch>
	  tv_grab_ch_bluewin grabber for Switzerland

2006-07-18 16:50  mbdev

	* grab/huro/tv_grab_huro.in: fix of "Cant use an undefinied value
	  as a HASH reference at tv_grab_huro line 1522/1525": if the
	  channel (coming from the config file) does not exists on the
	  port.hu/ro site, display WARNING message, so do not die so ugly.

2006-07-12 07:58  jtoft

	* grab/dk/tv_grab_dk: Only critical warnings when running with
	  --quiet.  Patch by Michael Andersen.

	  ----------------------------------------------------------------------

2006-07-09 12:08  rmeden

	* Makefile.PL: require SOAP::Lite version 0.67

2006-07-05 08:20  rmeden

	* grab/na_icons/tv_grab_na_icons.in: zap2it sometimes gives all
	  channels by default... let's deal with it

2006-07-02 14:36  mattiasholmlund

	* lib/ProgressBar/None.pm: Support old interface in the same way
	  that the other progressbars do. Patch from Chris Butler.

2006-07-01 21:43  rmeden

	* grab/uk_rt/channel_ids: commit update from
	  knowledgejunkie@gmail.com

2006-06-20 00:54  rmeden

	* mkdist: set new CVS hostname

2006-06-20 00:31  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Prepare for 0.5.44 release

2006-06-14 23:34  mattiasholmlund

	* lib/ValidateFile.pm: Make it possible to validate xmltv snippets
	  without channel-entries.

2006-06-14 15:56  mnbjhguyt

	* grab/it/: channel_ids, tv_grab_it.in: minor updates

2006-06-14 15:12  mnbjhguyt

	* grab/it/channel_ids: new channels added

2006-06-11 10:10  mtoledo

	* grab/br/tv_grab_br: Corrections to make it work with the new
	  website structure.

2006-06-09 19:26  b4max

	* grab/br_net/tv_grab_br_net: bugfix

2006-06-09 18:22  axis3x3

	* grab/uk_rt/tv_grab_uk_rt.in: Applied 'Make tv_grab_uk_rt quieter'
	  - only warn on unknown channels or channels missing from the site
	  when we are not in quiet mode.

2006-06-09 10:21  b4max

	* grab/br_net/tv_grab_br_net: lots of updates (channel-handling,
	  config, episodes, bugs, site-changes, ...)

2006-06-09 10:19  b4max

	* grab/br_net/test.conf: NET updated their channels

2006-06-04 05:52  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch from Tom Hughes to fish out
	  episode number from title.

2006-06-03 23:56  rmeden

	* lib/exe_opt.pl: prevent message about a missing module

2006-06-03 23:54  rmeden

	* Makefile.PL, grab/na_icons/tv_grab_na_icons.in: change _na_icons
	  to reflect zap2it.com changes

2006-06-03 16:06  epaepa

	* grab/za/tv_grab_za: Call $ua->env_proxy to use http proxy if
	  available.  Fixes
	  <https://sourceforge.net/tracker/index.php?func=detail&aid=1458244&group_id=39046&atid=424135>.

2006-06-03 16:02  epaepa

	* grab/za/tv_grab_za: Fixed behaviour when number of days isn't
	  specified in the config file or command line.  It defaults to 14.

	  Fixed warnings when for some reason a channel name is in the
	  config file but not known on the site.  Now that channel will be
	  skipped with a (more readable) warning.  Still need to
	  investigate the root cause though.

2006-06-03 14:42  epaepa

	* Makefile.PL, lib/XMLTV.pm.in, lib/Configure/Writer.pm: Require
	  XML::Writer 0.600.  Earlier versions have bugs; see
	  <https://sourceforge.net/tracker/?func=detail&atid=424135&aid=1485844&group_id=39046>.

2006-06-03 14:36  epaepa

	* lib/Options.pm: If a bad capability is requested list the known
	  ones in the error message.

2006-06-03 14:31  epaepa

	* grab/au/tv_grab_au.PL, grab/uk_rt/tv_grab_uk_rt.PL,
	  grab/se_swedb/tv_grab_se_swedb.PL, grab/ch/tv_grab_ch.PL,
	  grab/uk_bleb/tv_grab_uk_bleb.PL, grab/na_dd/tv_grab_na_dd.PL,
	  filter/tv_grep.PL: Don't open output file until at least we know
	  we can read the input.  It's still possible for things to go
	  wrong and an incomplete output file to be created.

2006-06-03 14:27  epaepa

	* tools/tv_validate_file.PL, tools/tv_validate_grabber.PL,
	  grab/de_tvtoday/tv_grab_de_tvtoday.PL, grab/be/tv_grab_be.PL,
	  grab/huro/tv_grab_huro.PL, grab/it/tv_grab_it.PL,
	  grab/na_icons/tv_grab_na_icons.PL: Don't open output file until
	  at least we know we can read the input.  It's still possible for
	  things to go wrong and an incomplete output file to be created.

2006-06-03 14:26  epaepa

	* lib/XMLTV.pm.PL: Mostly fixed annoyance where a failure of this
	  program (for example, a missing dependency required in
	  XMLTV.pm.in) would cause an empty output file to be created.

2006-06-03 13:49  epaepa

	* lib/Options.pm: Whitespace.

2006-05-27 09:30  candu_sf

	* grab/es_laguiatv/: test.conf, tv_grab_es_laguiatv: New channel
	  ids with - instead of . fixed author info to point to me

2006-05-25 12:10  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: fix misdetected category,
	  bug #1491687 (besides some added tracing statements)

2006-05-25 09:46  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: adjust for slight page
	  change, see bug #1494343 (thanks bhaak)

2006-05-24 08:10  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb.in: Move all references to
	  tv.swedb.se and Sweden to tv_grab_se_swedb.PL

2006-05-24 08:08  mattiasholmlund

	* MANIFEST: Update for tv_grab_se_swedb.

2006-05-24 07:47  mattiasholmlund

	* Makefile.PL, grab/se_swedb/tv_grab_se_swedb,
	  grab/se_swedb/tv_grab_se_swedb.PL,
	  grab/se_swedb/tv_grab_se_swedb.in: Generate tv_grab_se_swedb from
	  .in and .PL

2006-05-24 07:43  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Documention polish.

2006-05-24 07:21  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Remove more obsolete options from
	  documentation.

2006-05-20 10:59  candu_sf

	* Makefile.PL: Added es_laguiatv guide to Makefile.PL

2006-05-20 10:51  candu_sf

	* grab/es_laguiatv/: test.conf, tv_grab_es_laguiatv: Added config
	  file option to get descriptions. Also added test config file.

2006-05-19 16:26  candu_sf

	* grab/es_laguiatv/tv_grab_es_laguiatv: Fixed an issue where some
	  channels schedules got missed.

2006-05-19 10:12  fgouget

	* grab/fr/tv_grab_fr: Add support for the 'Coul. et sepia' color
	  indicator (avoids a warning).

2006-05-18 16:39  candu_sf

	* grab/es_laguiatv/tv_grab_es_laguiatv: Changed tv_grab_es_laguiatv
	  to have conformant channel IDs (not sure this is the best way).

2006-05-18 15:24  candu_sf

	* grab/es_laguiatv/tv_grab_es_laguiatv: Added first version of
	  tv_grab_es_laguiatv.

2006-05-17 12:40  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Remove obsolete --root-url option

2006-05-17 12:39  mattiasholmlund

	* lib/Options.pm: Fix --version printout.

2006-05-14 14:01  stesie

	* Makefile.PL: disabled tv_grab_ch since it got blocked by
	  www.fernsehen.ch

2006-05-14 11:46  epaepa

	* Makefile.PL: Fixed backslash bug in munging of 'realclean'
	  target.

2006-05-06 13:20  reudeudeu

	* grab/fr/tv_grab_fr: Revert to getstore api instad of get_nice to
	  manage error 500 sent by the server

2006-05-01 14:15  reudeudeu

	* grab/fr/tv_grab_fr: Update reference URL for getting channels

2006-04-29 10:00  rmeden

	* grab/na_dd/tv_grab_na_dd.in: make sure colour is  boolean.

2006-04-29 07:14  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: don't save return value of
	  convert_cp1252_chars in title scalar which is passed by ref

2006-04-27 14:08  mattiasholmlund

	* grab/nl/tv_grab_nl: Fix credits-tag. Patch from David Frankland

2006-04-25 06:27  b4max

	* grab/br_net/tv_grab_br_net: suppress warning if --quiet is in use

2006-04-23 11:34  rmeden

	* README: fix date

2006-04-23 11:31  rmeden

	* MANIFEST: Add test config files

2006-04-23 11:26  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: bump versions to prepare for 0.5.43 release

2006-04-21 12:17  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: eliminate more of those
	  cp1252 chars

2006-04-19 02:44  cpicton

	* grab/za/tv_grab_za:	- fix for mnet.co.za changing channel names
	    - fix for mnet.co.za changing class paramater
	    - fix for empty descriptions
	    - fix command-line override for number of days to download
	    - added timeout option to config file (long delays for 30-day
	  schedules)

2006-04-17 21:54  b4max

	* grab/br_net/tv_grab_br_net: bugfix

2006-04-17 21:47  b4max

	* grab/br_net/tv_grab_br_net: changed relax-option to randomize
	  amount of seconds to pause between page-fetches

2006-04-17 21:39  b4max

	* Makefile.PL: removed obsolete requirement for HTML::Entities for
	  tv_grab_br_net

2006-04-16 03:37  mattiasholmlund

	* grab/uk_rt/tv_grab_uk_rt.in: Suppress copyright message when
	  --quiet is used

2006-04-15 16:20  b4max

	* grab/br_net/tv_grab_br_net: fixed inconsistency in channel-names

2006-04-15 12:04  b4max

	* grab/br_net/tv_grab_br_net: removed unused HTML::Entities,
	  cosmetics

2006-04-15 10:03  b4max

	* grab/br_net/tv_grab_br_net: added CVS-headers and set version via
	  CVS-revision

2006-04-15 08:20  dubman

	* grab/il/tv_grab_il: encoding fix

2006-04-15 07:06  dubman

	* grab/il/tv_grab_il: minor fixes

2006-04-15 02:32  dubman

	* grab/il/test.conf: updated

2006-04-14 14:35  mbdev

	* grab/huro/tv_grab_huro.in: Do not 'die' on webpage grabbing
	  error: use Get_nice.pm's FailOnError flag to ignore non-important
	  "page not found" errors in --slow mode

2006-04-13 13:07  dubman

	* grab/il/tv_grab_il: configure fix

2006-04-13 12:24  dubman

	* grab/il/tv_grab_il: get() replaced with get_nice()

2006-04-13 00:47  mattiasholmlund

	* Makefile.PL: Enable _uk_bleb again on popular demand.

2006-04-12 17:38  b4max

	* grab/br_net/tv_grab_br_net: added some more comments

2006-04-12 16:58  b4max

	* README: added name of cable-provider for better distiction with
	  tv_grab_br

2006-04-12 16:51  b4max

	* README: added requirements for tv_grab_br_net

2006-04-12 16:32  mattiasholmlund

	* Makefile.PL, README: Reenable _br.

2006-04-12 16:31  mattiasholmlund

	* grab/br/: test.conf, tv_grab_br: Make _br work again. Patch from
	  Marcos Paulo Serafim.

2006-04-12 15:36  mattiasholmlund

	* README: Add release notes for upcoming 0.5.43

2006-04-12 12:01  mattiasholmlund

	* Makefile.PL: Disable _au and _br

2006-04-12 11:59  mattiasholmlund

	* grab/be/tv_grab_be.in: video->colour should be 0 not 'no'.

2006-04-12 11:58  mattiasholmlund

	* grab/: za/tv_grab_za, nl_wolf/tv_grab_nl_wolf: The grabber is not
	  baseline compliant.

2006-04-12 11:57  mattiasholmlund

	* grab/uk_rt/channel_ids: Add more channels

2006-04-12 08:27  rmeden

	* Makefile.PL: Disable _uk_bleb at the request of the
	  author/maintainer (didn't work, won't be fixed) replced by _uk_rt

2006-04-12 05:45  fgouget

	* grab/fr/tv_grab_fr: Update the todo list.

2006-04-12 05:31  fgouget

	* grab/fr/tv_grab_fr: Set the show's 'icon' if we find one.  Grab
	  the show's rating and corresponding icon if any.

2006-04-12 05:03  fgouget

	* grab/fr/tv_grab_fr: Re-added code to grab the actors and director
	  lists for the new site.  Also grab the presenter and writer
	  information.

2006-04-12 03:19  fgouget

	* grab/: au/tv_grab_au.in, be/tv_grab_be.in, br/tv_grab_br,
	  br_net/tv_grab_br_net, ch/tv_grab_ch.in, cz/tv_grab_cz,
	  de/tv_grab_de, de_tvtoday/tv_grab_de_tvtoday.in, dk/tv_grab_dk,
	  ee/tv_grab_ee, es/tv_grab_es, fi/tv_grab_fi, fr/tv_grab_fr,
	  huro/tv_grab_huro.in, il/tv_grab_il, is/tv_grab_is,
	  it/tv_grab_it.PL, jp/tv_grab_jp, na_dd/tv_grab_na_dd.in,
	  na_icons/tv_grab_na_icons.in, nl/tv_grab_nl,
	  nl_wolf/tv_grab_nl_wolf, no/tv_grab_no, pt/tv_grab_pt,
	  re/tv_grab_re, se_swedb/tv_grab_se_swedb,
	  uk_bleb/tv_grab_uk_bleb.in, uk_rt/tv_grab_uk_rt.in,
	  za/tv_grab_za: Consistently use an uppercase after the option
	  name in the documentation.  Add --version and --help
	  documentation where missing.

2006-04-12 03:09  fgouget

	* grab/fr/tv_grab_fr: - Use 'class=prog' to identify cells
	  containing program information.  - Use 'onmouseover=showmenu' to
	  identify links containing program information since this is the
	  information we are using to analyse the show. Also,
	  'onmouseout=hidemenu' is also used on a few other links which
	  caused some false positives.	- Each show contains one or more
	  links with show information. Use 'class=fiche' to identify those
	  containing a pointer to detailed show information and use those
	  if available.  - This fixes problems with 'meta-shows' like 'La
	  trilogie du samedi'.

2006-04-12 02:52  fgouget

	* grab/fr/tv_grab_fr: Fix the values of the colour and aspect
	  fields.  Remove duplicated and redundant code for the audio/video
	  fields.  Fix the indentation.

2006-04-12 02:41  fgouget

	* grab/fr/tv_grab_fr: Remove unused variables.

2006-04-12 02:27  fgouget

	* grab/fr/tv_grab_fr: Remove a redundant call to
	  Memoize::check_argv which breaks the --cache option.

2006-04-11 23:31  mattiasholmlund

	* grab/nl/tv_grab_nl: Patch from David Frankland. Fixes the
	  following: "unknown programme info key Regie", "unknown
	  'Bijzonderheden' bit Zwart-Wit", multiple actors now handled
	  correctly.

2006-04-10 11:15  mattiasholmlund

	* grab/dk/tv_grab_dk: colour should be 1 not 'yes'

2006-04-09 14:58  b4max

	* grab/br_net/tv_grab_br_net: added basic support for grabbing
	  episode-numbers

2006-04-09 09:59  va1210

	* grab/fi/tv_grab_fi: Fixed ProgressBar initialization for channel
	  retriever

2006-04-09 09:34  va1210

	* grab/fi/tv_grab_fi: Fixed ProgressBar initialization

2006-04-08 13:44  epaepa

	* lib/XMLTV.pm.in: Added a warning for the correct way to pass
	  booleans in the programme data: see
	  <http://article.gmane.org/gmane.comp.tv.xmltv.devel/6372>.

2006-04-08 13:37  epaepa

	* lib/XMLTV.pm.in: write_channels(): better error if channels hash
	  passed isn't a hash.

2006-04-08 10:14  stesie

	* grab/Get_nice.pm: Since CVS rev. 1.19 we don't rely on
	  LWP::Simple anymore, as a matter of that we're responsible for
	  calling `$ua->env_proxy' ourselves, in order to treat http_proxy
	  environment variable correctly.

2006-04-08 09:04  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: replace some weird chars
	  by more adequate ones in output

2006-04-08 06:14  christianw

	* grab/no/tv_grab_no: accidentally commented out the
	  Term::ProgressBar import

2006-04-08 05:11  christianw

	* grab/no/tv_grab_no: Fixed the channel selection to include all
	  channels.  Fixed real (sort of) xmltvid values for all current
	  channels.

2006-04-06 12:57  mattiasholmlund

	* grab/pt/: test.conf, tv_grab_pt: Ignore channels with invalid
	  xmltv ids.

2006-04-06 08:58  va1210

	* grab/fi/tv_grab_fi: HTML::Entities included twice by mistake

2006-04-06 08:51  va1210

	* grab/fi/: test.conf, tv_grab_fi: Replaced katso.fi-based
	  tv_grab_fi with new telkku.com-based grabber

2006-04-05 13:26  mnbjhguyt

	* grab/it/tv_grab_it.in: changed default backend to skytv, as
	  wfactory seems to have outdated data

2006-04-05 07:40  ecastelnau

	* grab/re/: test.conf, tv_grab_re:
	  - update channels icons url for CANALSAT and PARABOLE - change
	  `get_canalsat_programmes_list' behavior - change HTTP header
	  (referer tag) to make canalsat-reunion.com happy

2006-04-04 20:15  b4max

	* grab/br_net/: test.conf, tv_grab_br_net: added support for
	  apiconfig use XMLTV::Options added retry-mechanism for
	  page-fetching changed configfile format changed channelIDs added
	  silent removal of channels without data bugfixes more ...

2006-03-29 17:28  mbdev

	* grab/huro/tv_grab_huro.in: try to guess category between
	  parentheses, if it is longer as 6: skip (.ism) text

2006-03-26 15:16  mnbjhguyt

	* grab/it/tv_grab_it.PL: updated contact info

2006-03-26 14:35  reudeudeu

	* grab/fr/tv_grab_fr: Add patch from Francois Gouget Add patch to
	  get ' car Add patch to make configure mode working with CANAL SAT

2006-03-24 15:10  mbdev

	* grab/huro/catmap.ro: New regexp improvements, thanks to Noemi
	  Sandor and Jozsef Kercso

2006-03-22 23:04  rmeden

	* grab/na_dd/tv_grab_na_dd.in: document support for "fake" postel
	  codes (non US/Canada locations)

2006-03-22 13:17  mattiasholmlund

	* Makefile.PL: Remove tv_grab_cz from distribution. The site that
	  it grabbed data from has closed.

2006-03-21 10:34  b4max

	* grab/br_net/tv_grab_br_net: fixed bug with actors. It tried to
	  write an empty list.

2006-03-20 16:16  b4max

	* Makefile.PL, MANIFEST: added Grabber for Brazil's NET cable
	  provider

2006-03-20 15:55  b4max

	* grab/br_net/: test.conf, tv_grab_br_net: added Grabber for
	  Brazil's NET cable provider

2006-03-17 18:07  eborn

	* grab/nl/tv_grab_nl: Bugfix: TVGids.nl now shows monthnames with
	  the first letter uppercased. Replacement regexes are now
	  case-insensitive

2006-03-17 00:32  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Handle empty configuration files.

2006-03-16 14:19  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: changed squeeze-out-regexp
	  to not allow digits in the category (which would be an error
	  obviously).

2006-03-16 13:38  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: work around unicode
	  \021-char occurance in tvtoday.de's database (which causes some
	  libxmls to break)

2006-03-16 12:48  mattiasholmlund

	* lib/: Configure.pm, Options.pm: Call XMLTV::Ask::init at the
	  right place.

2006-03-16 00:12  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Use NoUpdate feature in
	  HTTP::Cache::Transparent if available. Make --debug more verbose.

2006-03-16 00:09  mattiasholmlund

	* lib/ProgressBar/None.pm: Print something sensible when
	  Term::Progressbar is not installed.

2006-03-13 17:04  mbdev

	* grab/huro/tv_grab_huro.in: add space between description
	  sentences change of main programtable processing: use one loop
	  over the <TD>s eliminate strong/span/font handling (changes on
	  the port.hu site) use TreeBuilder->new_from_content finalise
	  Romanian language support (category, long description parsing)
	  fix: get the correct page if client running in non CET timezone
	  (e.g. AEST: +10) change spaces to tabs by indentation (add vi
	  options) for development: more trace

2006-03-13 16:44  mbdev

	* grab/huro/catmap.ro: category mapping created for the Romanian
	  language, thx for Lucian Muresan

2006-03-12 12:18  reudeudeu

	* grab/fr/tv_grab_fr:  slow mode is working again, only actors and
	  director are missing now

2006-03-11 12:56  reudeudeu

	* grab/fr/tv_grab_fr: Solve issues when loading more than 1 day

2006-03-10 17:31  reudeudeu

	* grab/fr/tv_grab_fr:  - Primary attempt to deal with latest change
	  on the website
	   - Patches from Francois Gouget

2006-03-09 14:52  mattiasholmlund

	* grab/fr/tv_grab_fr: Patch from Francois Gouget <fgouget@free.fr>.
	  Fix a couple of comments

2006-03-09 14:48  mattiasholmlund

	* grab/fr/tv_grab_fr: Patch from Francois Gouget <fgouget@free.fr>.
	  Fix the get() prototype.

2006-03-09 14:40  mattiasholmlund

	* grab/fr/tv_grab_fr: Patch from Francois Gouget <fgouget@free.fr>
	  Use 'class=fiche' to identify links pointing to the show
	  description, rather than 'onMouseout=hidemenu()'. This fixes
	  problems with 'meta-shows' like 'La trilogie du samedi'.

2006-03-09 12:45  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: write out stoptime
	  information even if no showview code is available (patch by
	  Martin Bene)

2006-03-08 13:13  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb, lib/Configure.pm, lib/Options.pm,
	  grab/cz/tv_grab_cz: Add support for --gui tk

2006-03-08 13:06  mattiasholmlund

	* lib/ValidateGrabber.pm: Explain why a grabber is not additive

2006-03-08 13:06  mattiasholmlund

	* lib/ValidateFile.pm: Detect empty descriptions

2006-03-07 12:08  mattiasholmlund

	* grab/dk/tv_grab_dk: Fix the --cache option.

2006-03-06 13:40  mattiasholmlund

	* grab/cz/tv_grab_cz: Fix error-message

2006-03-05 23:59  mattiasholmlund

	* lib/XMLTV.pm.in, grab/ch/tv_grab_ch.in,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in, grab/fr/tv_grab_fr,
	  grab/uk_rt/tv_grab_uk_rt.in: Filter data to match --days and
	  --offset

2006-03-04 17:39  rmeden

	* grab/na_dd/tv_grab_na_dd.in: use numeric time offset for UTC.
	  Don't print password in config file warning

2006-03-04 04:27  mattiasholmlund

	* lib/ValidateFile.pm: Remove check for starttime inside an
	  interval. This check has been superceded by a check in
	  ValidateGrabber.

2006-03-04 03:50  mattiasholmlund

	* lib/ValidateGrabber.pm: Fix a filename

2006-03-02 14:19  mattiasholmlund

	* README: Remove obsolete text about caching

2006-03-02 14:18  mattiasholmlund

	* grab/Get_nice.pm: Fix error message

2006-03-02 14:16  mattiasholmlund

	* grab/test_grabbers, lib/ValidateGrabber.pm: Check if different
	  days overlap. Various cleanups

2006-03-02 14:16  mattiasholmlund

	* filter/tv_sort: Add new parameter --duplicate-error

2006-03-02 00:30  rmeden

	* grab/uk_rt/channel_ids: channel additions form Nick
	  knowledgejunkie@gmail.com

2006-03-01 13:06  mattiasholmlund

	* lib/ValidateFile.pm: Fix spelling

2006-02-28 23:21  rmeden

	* lib/exe_opt.pl: make perlapp work with my latest build setup

2006-02-28 22:59  rmeden

	* grab/uk_rt/tv_grab_uk_rt.in: undef no longer supported by
	  Getopt::Long

2006-02-28 11:05  mnbjhguyt

	* grab/it/: channel_ids, test.conf, tv_grab_it.in: now validates
	  with test_grabbers

2006-02-27 16:28  reudeudeu

	* grab/fr/tv_grab_fr: Apply patches from Francois Gouget

2006-02-22 11:12  mbdev

	* grab/huro/tv_grab_huro.in: bugfix of site changes: <strong>,
	  <font> no more used reworking of non-slow (default) grabbing
	  functions added category/episode/year/length parsing in non-slow
	  mode grabbing clarifing the use of global variables added
	  function header comments bugfix of date calculation by more days
	  in one shot grabbing add time measuring for detecting possible
	  performance holes fix indentation misstakes bugfix of --cache
	  usage and what i forgot...

2006-02-22 11:01  mbdev

	* grab/huro/tv_grab_huro.PL: keep indentation when changing
	  SHARE_DIR

2006-02-22 10:20  mbdev

	* grab/huro/catmap.hu: improvements for category guessing

2006-02-21 19:33  rmeden

	* Makefile.PL: New versions of MakeMaker produce action lines that
	  start with blanks instead of tabs

2006-02-21 14:02  mattiasholmlund

	* lib/ValidateFile.pm: Add call to Date_Init

2006-02-19 14:31  mattiasholmlund

	* grab/re/tv_grab_re: Updates from Eric Castelnau. Length-tag
	  removed. Remove bogus end-of-day programmes. Clearer questions
	  during configure.

2006-02-15 14:59  mattiasholmlund

	* grab/cz/tv_grab_cz: Remove unnecessary use.

2006-02-15 14:54  mattiasholmlund

	* grab/DST.pm, grab/il/tv_grab_il, lib/ValidateFile.pm: Use time
	  offset instead of timezones. Add check for this to ValidateFile.
	  Use Date::Manip instead of DateTime.

2006-02-13 02:38  rmeden

	* grab/na_dd/tv_grab_na_dd.in: better identify messages from DD.
	  update schedule timing in docs

2006-02-12 13:49  epaepa

	* grab/au/tv_grab_au.in: Spelling.

2006-02-12 13:45  epaepa

	* grab/test_grabbers: Print a bit more information as we go along
	  so you don't have to wait until the end to see what problems a
	  grabber had.

2006-02-12 13:42  epaepa

	* grab/pt/tv_grab_pt: Factored out domain name into $DOMAIN.

2006-02-12 13:34  epaepa

	* grab/test_grabbers: print_summary(): new routine refactoring out
	  some repeated prints.

2006-02-12 13:28  epaepa

	* grab/test_grabbers: Added error checking to some I/O operations.

2006-02-10 14:24  jtoft

	* grab/dk/tv_grab_dk: Make sure cookies are send when fetching.

2006-02-09 14:14  mattiasholmlund

	* grab/se_swedb/: test.conf, tv_grab_se_swedb: Polish.

2006-02-09 14:12  mattiasholmlund

	* lib/Options.pm: Update documentation.

2006-02-08 14:26  mattiasholmlund

	* grab/test_grabbers: Store the result from the validation in
	  t_summary.log. Patch from Kurt V. Hindenburg

2006-02-08 13:55  mattiasholmlund

	* lib/ValidateGrabber.pm: Fix the check for errorcode from grabber
	  during configure.

2006-02-08 06:38  jtoft

	* grab/dk/tv_grab_dk: URL parameter instead of cookies.

2006-02-07 15:12  stesie

	* grab/huro/tv_grab_huro.in: fixed indentation (unfortunately
	  fucked it up last time around)

2006-02-04 16:50  jveldhuis

	* lib/IMDB.pm:
	  Big thanks to Eric (moorse@someren.nl.eu.org) for his help fixing
	  some bugs and special language character conversion.

	  Entry estimates are now computed by examining the size of the
	  input file instead of hardcoded constants.

	  Dealt with new IMDB changes in movies.list format.

2006-02-04 16:33  mattiasholmlund

	* grab/re/: test.conf, tv_grab_re: Implement proper channel ids.
	  Patch by Eric Castelnau.

2006-02-04 03:26  mattiasholmlund

	* lib/ValidateFile.pm: Loosen up the starttime test a bit.

2006-02-03 16:15  mattiasholmlund

	* grab/test_grabbers, lib/ValidateGrabber.pm,
	  tools/tv_validate_grabber.in: Rearrange and simplify validation
	  output.

2006-02-03 14:45  mattiasholmlund

	* xmltv.dtd: Allow a quality-element inside a video element

2006-02-02 15:59  mattiasholmlund

	* grab/no/tv_grab_no: Add capabilities and description

2006-02-02 10:18  dubman

	* grab/il/tv_grab_il: overlapping fixed

2006-02-02 10:17  dubman

	* grab/Get_nice.pm: error handling update

2006-02-02 00:20  mattiasholmlund

	* lib/ValidateFile.pm: Updated documentation

2006-02-01 13:54  mattiasholmlund

	* lib/ValidateGrabber.pm: Fix typo

2006-02-01 13:48  mattiasholmlund

	* grab/pt/tv_grab_pt: Fix typo

2006-02-01 13:48  mattiasholmlund

	* grab/de_tvtoday/test.conf: Updated test-conf to use new channels.

2006-02-01 13:46  mattiasholmlund

	* grab/test_grabbers, lib/ValidateFile.pm, lib/ValidateGrabber.pm:
	  Print a summary at the end of test_grabbers. Check that the
	  --days and --offset options are honoured. Document error-codes.

2006-02-01 00:04  mattiasholmlund

	* filter/tv_sort: Documentation clarification from Kurt V.
	  Hindenburg

2006-01-31 15:24  reudeudeu

	* grab/fr/tv_grab_fr: Better management when loading channel
	  definition pages

2006-01-30 15:43  mattiasholmlund

	* MANIFEST, Makefile.PL, tools/tv_validate_file,
	  tools/tv_validate_file.PL, tools/tv_validate_file.in,
	  tools/tv_validate_grabber, tools/tv_validate_grabber.PL,
	  tools/tv_validate_grabber.in: Use the dtd in the share/-directory
	  by default. Fix formatting.

2006-01-30 05:12  reudeudeu

	* grab/fr/tv_grab_fr: configure mode is working again

2006-01-30 02:16  dubman

	* grab/il/tv_grab_il: check var on undef

2006-01-30 01:53  dubman

	* grab/il/tv_grab_il: --xmltv_tmpl changed to GNU style
	  --xmltvid-template

2006-01-29 13:36  epaepa

	* Makefile.PL: Install the DTD in share/.

2006-01-28 11:23  mattiasholmlund

	* lib/Options.pm: Add --description to Options.pm

2006-01-28 11:21  mattiasholmlund

	* MANIFEST, Makefile.PL, tools/tv_find_grabbers: New tool
	  tv_find_grabbers

2006-01-28 11:17  mattiasholmlund

	* grab/au/tv_grab_au.in, grab/be/tv_grab_be.in, grab/br/tv_grab_br,
	  lib/Description.pm, lib/ValidateGrabber.pm,
	  grab/ch/tv_grab_ch.in, grab/cz/tv_grab_cz,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in, grab/dk/tv_grab_dk,
	  grab/ee/tv_grab_ee, grab/es/tv_grab_es, grab/fi/tv_grab_fi,
	  grab/fr/tv_grab_fr, grab/huro/tv_grab_huro.in,
	  grab/il/tv_grab_il, grab/is/tv_grab_is, grab/it/tv_grab_it.in,
	  grab/jp/tv_grab_jp, grab/na_dd/tv_grab_na_dd.in,
	  grab/nl/tv_grab_nl, grab/nl_wolf/tv_grab_nl_wolf,
	  grab/pt/tv_grab_pt, grab/re/tv_grab_re,
	  grab/se_swedb/tv_grab_se_swedb, grab/uk_bleb/tv_grab_uk_bleb.in,
	  grab/uk_rt/tv_grab_uk_rt.in, grab/za/tv_grab_za: Add a
	  --description parameter to all grabbers.

2006-01-27 16:16  dubman

	* grab/il/test.conf: test for il grabber. vpassed validate.

2006-01-27 14:24  mattiasholmlund

	* lib/ValidateGrabber.pm: Fix bug when external command returns
	  with an error.

2006-01-27 03:40  jtoft

	* grab/dk/: test.conf, tv_grab_dk: Fixed warning about actors that
	  caused test_grabbers to fail.  Other test channels.

2006-01-27 01:06  rmeden

	* Makefile.PL: create --default option to take the defaults and not
	  ask

2006-01-26 14:34  mattiasholmlund

	* grab/es/tv_grab_es: Bugfix from  Carlos Nieves Onega

2006-01-26 14:25  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: detect 'dolby
	  surround'-flag

2006-01-26 14:23  mattiasholmlund

	* MANIFEST: Update MANIFEST

2006-01-26 14:18  mattiasholmlund

	* Makefile.PL, grab/se/test.conf, grab/se/tv_grab_se: Remove
	  tv_grab_se. It has been replaced by tv_grab_se_swedb a long time
	  ago and has suffered from serious bitrot.

2006-01-26 14:11  mattiasholmlund

	* grab/: pt/tv_grab_pt, re/tv_grab_re, uk_bleb/tv_grab_uk_bleb.in,
	  uk_rt/tv_grab_uk_rt.in, za/tv_grab_za: Add cache and share
	  capabilities where appropriate.

2006-01-26 14:07  mattiasholmlund

	* tools/tv_validate_grabber: Better command-line parsing.

2006-01-26 14:06  mattiasholmlund

	* lib/: ValidateFile.pm, ValidateGrabber.pm: Check for more
	  capabilities. Add documentation

2006-01-26 13:46  stesie

	* MANIFEST, Makefile.PL: install new catmap.{hu,ro} files

2006-01-26 13:43  mattiasholmlund

	* grab/test_grabbers: Add new capabilities cache and share and test
	  for them in ValidateGrabber

2006-01-26 13:42  mattiasholmlund

	* grab/se_swedb/test.conf: Put cache in /tmp

2006-01-26 13:41  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Fix bug introduced in last
	  checkin

2006-01-26 13:39  stesie

	* grab/huro/: catmap.hu, catmap.ro, tv_grab_huro.in: applying patch
	  by Molnar Balazs <moba@t-online.hu> (after some slight changes)

	   - % - % -

	  $Log: tv_grab_huro,v $ Revision 1.11	2006/01/23 09:43:33
	  molnarb added url tags to channel and to program

	  Revision 1.10  2006/01/22 23:15:51  molnarb parse_desc:
	  date(year) parsing bugfix: added (); get category only from () if
	  it is longer as 8.  get_info_url: in subtitle section if a whole
	  line is in (), add this as english title.  added new catgoty
	  patterns: krimi, venezuela, wildwest new anchor selection for
	  credits new anchor and contents selection to long desc
	  episode/minutes bugfix

	  Revision 1.9	2006/01/20 10:53:54  molnarb seems to be complete?
	  everything works?

	  Revision 1.8	2006/01/19 23:24:59  molnarb added
	  --max-desc-length option, sub-title parsing, improved credits
	  parsing

	  Revision 1.7	2006/01/19 20:44:06  molnarb array reference bug
	  solved, but not all actors will be collected (the last failed),
	  and "vg:", "operatr:" will be not detected as jobs -> should
	  be corrected

	  Revision 1.6	2006/01/19 19:14:39  molnarb credits grabing
	  updated, support of 'actor (role in film)' formats, but credits
	  array buggy

	  Revision 1.5	2006/01/17 23:57:57  molnarb improvements

	  Revision 1.4	2006/01/17 23:42:10  molnarb misspelling: add $ to
	  mode processing

	  Revision 1.3	2006/01/17 23:29:45  molnarb added --icon,
	  debugging, cvs headers, improved catmap

	  Revision 1.2	2006/01/17 19:29:29  molnarb added keyword, the
	  first working version with debugging to stderr

2006-01-26 12:47  stesie

	* grab/huro/jobmap: new entry (from Molnar Balazs,
	  <moba@t-online.hu>)

2006-01-26 04:11  dubman

	* grab/: Get_nice.pm, il/tv_grab_il: add FailOnError flag to
	  XMLTV::Get_nice()

2006-01-25 14:31  mattiasholmlund

	* lib/Options.pm, lib/ValidateGrabber.pm, grab/au/tv_grab_au.in,
	  grab/be/tv_grab_be.in, grab/br/tv_grab_br, grab/ch/tv_grab_ch.in,
	  grab/cz/tv_grab_cz, grab/de_tvtoday/tv_grab_de_tvtoday.in,
	  grab/dk/tv_grab_dk, grab/ee/tv_grab_ee, grab/es/tv_grab_es,
	  grab/fi/tv_grab_fi, grab/fr/tv_grab_fr,
	  grab/huro/tv_grab_huro.in, grab/is/tv_grab_is,
	  grab/it/tv_grab_it.in, grab/jp/tv_grab_jp,
	  grab/na_dd/tv_grab_na_dd.in, grab/nl/tv_grab_nl: Add new
	  capabilities cache and share and test for them in ValidateGrabber

2006-01-25 14:26  mattiasholmlund

	* Makefile.PL: Small bugfix.

2006-01-25 06:13  dubman

	* Makefile.PL: added tv_grab_il

2006-01-25 05:13  dubman

	* grab/il/tv_grab_il: initial release

2006-01-24 15:45  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Switch se_swedb over to using
	  XMLTV::Options

2006-01-24 15:45  mattiasholmlund

	* grab/cz/tv_grab_cz, lib/Options.pm: Update the XMLTV::Options api
	  slightly.

2006-01-24 14:59  mattiasholmlund

	* grab/test_grabbers: Use XMLTV::ValidateGrabber in test_grabbers.

2006-01-24 14:56  mattiasholmlund

	* lib/ValidateGrabber.pm: Call all grabbers with --cache if caching
	  is enabled until we have resolved what to do with the --cache
	  option

2006-01-24 14:55  mattiasholmlund

	* tools/: tv_validate_file, tv_validate_grabber: Implement
	  --version option

2006-01-23 15:40  mattiasholmlund

	* Makefile.PL, lib/ValidateFile.pm, lib/ValidateGrabber.pm,
	  tools/tv_validate_file, tools/tv_validate_grabber: Break out the
	  grabber validation to a library. Add new tools tv_validate_file
	  and tv_validate_grabber. Work in progress.

2006-01-22 12:44  mattiasholmlund

	* Makefile.PL, grab/cz/test.conf, grab/cz/tv_grab_cz: Add
	  tv_grab_cz

2006-01-22 04:44  mattiasholmlund

	* Makefile.PL, grab/test_grabbers, lib/ValidateFile.pm: Move
	  validation to a separate library to prepare for tv_validate_file.

2006-01-20 17:23  mattiasholmlund

	* grab/test_grabbers: Check that the grabber exits with an error if
	  it is called with an unknown option.

2006-01-20 17:13  mattiasholmlund

	* grab/: it/tv_grab_it.in, na_dd/tv_grab_na_dd.in, nl/tv_grab_nl:
	  Support --capabilities

2006-01-20 10:09  cpicton

	* grab/za/tv_grab_za: 1.14 (chris) - Fix for mnet.co.za changing
	  channel name of e-TV

	  1.13 (neil) - HTML::TreeBuilder improved error handling and
	  memory leak

2006-01-19 16:31  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: added some more regexp
	  squeezing magic

2006-01-19 15:09  mattiasholmlund

	* grab/test_grabbers: Abort grabbers that take too long to finish.
	  Check that grabber exists. Check that --version and
	  --capabilities is supported. Remove empty log-files. Check that
	  there is exactly one channel-entry for each channel.

2006-01-19 15:05  mattiasholmlund

	* lib/: Configure.pm, Options.pm, Configure/Writer.pm: Slight
	  API-changes to pass an options-hash to list_channels

2006-01-19 13:50  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: fix recent issues with
	  slight changes of http://www.tvtoday.de/, which have broken
	  --slow mode

2006-01-18 13:28  mattiasholmlund

	* MANIFEST, Makefile.PL, lib/Configure.pm, lib/Options.pm,
	  lib/Configure/Writer.pm: New support modules.

2006-01-15 12:05  mattiasholmlund

	* grab/: huro/tv_grab_huro.in, is/tv_grab_is: Add --capabilities
	  option and documentation.

2006-01-15 11:59  mattiasholmlund

	* grab/: fi/tv_grab_fi, fr/tv_grab_fr: Add --capabilities option
	  and documentation.

2006-01-15 04:08  mattiasholmlund

	* grab/dk/tv_grab_dk: Add --capabilities option and documentation.

2006-01-15 04:05  mattiasholmlund

	* grab/ch/tv_grab_ch.in: Add --capabilities option and
	  documentation.

2006-01-15 04:00  mattiasholmlund

	* grab/es/tv_grab_es: Add --capabilities option and documentation.

2006-01-15 03:58  mattiasholmlund

	* grab/ee/tv_grab_ee: Add --capabilities and --version options and
	  documentation.

2006-01-15 03:03  mattiasholmlund

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Add --capabilities option
	  and documentation.

2006-01-15 02:57  mattiasholmlund

	* grab/br/tv_grab_br: Add --capabilities and --version options and
	  documentation.

2006-01-15 02:45  mattiasholmlund

	* grab/be/tv_grab_be.in: Add --capabilities option and
	  documentation.

2006-01-15 02:43  mattiasholmlund

	* grab/au/tv_grab_au.in: More documentation.

2006-01-15 02:35  mattiasholmlund

	* grab/au/tv_grab_au.in: Fix --version. Add documentation.

2006-01-14 03:46  mattiasholmlund

	* grab/au/tv_grab_au.in: Implement --version and --capabilities.

2006-01-14 03:45  mattiasholmlund

	* lib/Capabilities.pm: Make module actually work.

2006-01-13 15:29  reudeudeu

	* grab/fr/tv_grab_fr: Various enhancments and updates regarding
	  character management

2006-01-13 14:13  mattiasholmlund

	* MANIFEST, Makefile.PL, lib/Capabilities.pm: Add
	  XMLTV::Capabilities module.

2006-01-13 14:12  mattiasholmlund

	* grab/test_grabbers: Whitespace fixes only.

2006-01-13 14:09  mattiasholmlund

	* grab/test_grabbers: Detect the xmltv root-dir automatically.

2006-01-13 00:55  mattiasholmlund

	* grab/test_grabbers: Describe options better. Validate files using
	  XML::LibXML. Add a --validate-file option. Cleanup output.

2006-01-12 09:17  rmeden

	* choose/tv_check/tv_check: in HTML format, highlight
	  non-repeat,bonus episodes with a different sub-title than the
	  master show.	Better detect new bonus episodes.

2006-01-11 13:06  mattiasholmlund

	* grab/test_grabbers: Use the perl-modules from the xmltv-tree
	  instead of the installed modules. Check that the --output and
	  --quiet options work. Make it possible to interrupt test_grabbers
	  with ctrl-c.

2006-01-11 13:01  mattiasholmlund

	* grab/Memoize.pm: Make --cache respect --quiet.

2006-01-09 16:35  reudeudeu

	* grab/fr/tv_grab_fr: Revert to ISO-8859-1 charset

2006-01-08 14:44  epaepa

	* grab/uk_bleb/tv_grab_uk_bleb.in: Whitespace.

2006-01-08 14:43  epaepa

	* grab/uk_bleb/tv_grab_uk_bleb.in: We no longer care about buggy
	  Archive::Zip, I hope.

2006-01-08 14:41  epaepa

	* grab/uk_bleb/tv_grab_uk_bleb.in: Quietened a couple of warnings.

2006-01-08 14:39  epaepa

	* grab/se/tv_grab_se: Added --list-channels mode.

2006-01-08 13:40  epaepa

	* grab/se/tv_grab_se: Usage message goes to stderr not stdout.

2006-01-08 13:38  epaepa

	* grab/Grab_XML.pm: Added --list-channels mode.  It just works by
	  getting the most recent day of listings and then not writing any
	  of the programme details.

2006-01-08 13:15  epaepa

	* grab/it/tv_grab_it.in: Added --list-channels mode.

2006-01-08 12:42  epaepa

	* grab/it/tv_grab_it.in: Cleaned shebang stuff.

2006-01-08 12:40  epaepa

	* grab/is/tv_grab_is: Don't randomly print channel names in the
	  middle of the XML output!

2006-01-08 12:33  epaepa

	* grab/fr/tv_grab_fr: Fixed channel ids in --list-channels to be
	  the same as in normal grabbing, and don't output the same channel
	  twice.

2006-01-08 12:30  epaepa

	* grab/ch/tv_grab_ch.in: --list-channels doesn't require the config
	  file.

2006-01-08 12:24  epaepa

	* grab/test_grabbers: Duh, actually grok the --list-channels flag
	  on our command line.

2006-01-08 12:21  epaepa

	* grab/be/tv_grab_be.in: Added a --list-channels mode.
	  Unfortunately it needs you to configure the grabber first to
	  choose which language.

2006-01-08 12:17  epaepa

	* grab/test_grabbers: Added a mode to test --list-channels, at
	  least for grabbers that don't require a config file or other
	  funniness to use it.

2006-01-08 11:54  epaepa

	* grab/br/tv_grab_br: Avoid writing the same channel-id twice in
	  <channel> section.

2006-01-08 11:34  epaepa

	* grab/: Get_nice.pm, br/tv_grab_br, dk/tv_grab_dk, es/tv_grab_es,
	  fi/tv_grab_fi, huro/tv_grab_huro.in, is/tv_grab_is,
	  nl/tv_grab_nl, pt/tv_grab_pt, re/tv_grab_re: Refactored a lot of
	  HTML::TreeBuilder code into new routine get_nice_tree().

2006-01-08 07:56  epaepa

	* mkdist: Assume cvs2cl is installed as cvs2cl.

2006-01-08 07:53  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.42.

2006-01-08 07:51  epaepa

	* mkdist: Use File::Temp for making temporary directory.

2006-01-08 07:24  epaepa

	* grab/re/tv_grab_re: Added --offset and --cache.

2006-01-08 07:11  epaepa

	* grab/se_swedb/tv_grab_se_swedb: Errors go to stderr not stdout.
	  Changed whitespace in output XML to match other grabbers.

2006-01-08 07:04  epaepa

	* grab/test_grabbers: Added --only option to test just one grabber.

2006-01-08 05:55  epaepa

	* grab/: br/tv_grab_br, ch/tv_grab_ch.in,
	  de_tvtoday/tv_grab_de_tvtoday.in, dk/tv_grab_dk, es/tv_grab_es,
	  fi/tv_grab_fi, huro/tv_grab_huro.in, is/tv_grab_is,
	  jp/tv_grab_jp, nl/tv_grab_nl, pt/tv_grab_pt, re/tv_grab_re,
	  uk_rt/tv_grab_uk_rt.in, za/tv_grab_za: With HTML::TreeBuilder
	  check the return value of parse() and remember to call eof()
	  afterwards.

2006-01-08 05:50  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Skip empty <desc/> elements in the
	  upstream data.

2006-01-08 05:13  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: HTML::TreeBuilder is not used.

2006-01-08 04:54  epaepa

	* grab/fr/tv_grab_fr: Added --cache option.

2006-01-08 04:48  epaepa

	* grab/fr/tv_grab_fr: Fetch and process pages in memory instead of
	  using temporary files.

2006-01-08 04:05  reudeudeu

	* grab/fr/tv_grab_fr: Solve some issues with Frenc characters

2006-01-07 18:03  epaepa

	* grab/fr/tv_grab_fr: Set the User-Agent correctly when fetching
	  web pages.

2006-01-07 17:45  epaepa

	* grab/fr/tv_grab_fr: The --cache option was broken by the move
	  away from Get_nice so disable it for now.  Fixed a couple of
	  library and shebang things.

2006-01-07 16:59  epaepa

	* grab/ee/tv_grab_ee: The upstream data source sometimes has
	  programmes with stop time before the start time.  In such cases
	  one or the other must be wrong, so omit the stop time in output.

2006-01-06 16:22  reudeudeu

	* grab/fr/tv_grab_fr: Integrate patch to remove trailing spaces
	  properley

2006-01-05 15:32  reudeudeu

	* grab/fr/tv_grab_fr: Remove additionnal trailing and leading
	  spaces in commens

2006-01-05 15:18  reudeudeu

	* grab/fr/tv_grab_fr: Remove /tmp access and use File::Temp, as
	  requested by Ed Avis

2006-01-05 09:29  cpicton

	* grab/za/tv_grab_za: Add custom url_get function.  This allows it
	  to be memoized and avoids the use of temporary cache files.

	  Add a backup URL for full channel list in case the master site is
	  down.

	  Default to mnet.co.za site instead of dstv.com site if no
	  preference selected.

2006-01-03 15:07  reudeudeu

	* grab/fr/tv_grab_fr: Oops !

2006-01-03 14:40  reudeudeu

	* grab/fr/tv_grab_fr: Solve issues with description datasheet

2006-01-01 15:50  reudeudeu

	* grab/fr/tv_grab_fr:  Get rid of numerous errors by using directly
	  the LWP::Simple API and using temporary files in the /tmp folder

2005-12-27 15:09  gawen

	* grab/pt/tv_grab_pt: Documentation. Fixed memory leak with
	  HTML::TreeBuilder

2005-12-27 08:27  epaepa

	* filter/tv_sort: Added examples and removed 'see also' as
	  suggested by Kurt V. Hindenburg.

2005-12-27 07:44  epaepa

	* grab/: au/test.conf, be/test.conf, br/test.conf, ch/test.conf,
	  de_tvtoday/test.conf, dk/test.conf, ee/test.conf, es/test.conf,
	  fi/test.conf, fr/test.conf, huro/test.conf, is/test.conf,
	  it/test.conf, jp/test.conf, nl/test.conf, nl_wolf/test.conf,
	  no/test.conf, pt/test.conf, re/test.conf, se/test.conf,
	  se_swedb/test.conf, uk_bleb/test.conf, uk_rt/test.conf,
	  za/test.conf: Test configuration files for each grabber.

2005-12-27 06:48  epaepa

	* grab/test_grabbers: Added --configure flag to attempt to create
	  test.conf file if it's not there.  Make sure the output XML is
	  nonempty; if not try to run the grabber.

2005-12-27 05:42  epaepa

	* README: Removed special note about Archive::Zip versions now
	  tv_grab_uk_bleb has a workaround for the bug.  I have
	  Archive::Zip 1.16 and it's still broken, but now we don't care.

2005-12-27 05:40  epaepa

	* grab/uk_bleb/tv_grab_uk_bleb.in: Deal with the longstanding
	  Archive::Zip bug (eg
	  <http://article.gmane.org/gmane.comp.tv.freeguide-tv.user/565>)
	  using the workaround suggested in
	  <http://rt.cpan.org/NoAuth/Bug.html?id=7855>.

2005-12-26 19:03  epaepa

	* grab/se_swedb/tv_grab_se_swedb: Cosmetic change to XML output.

2005-12-26 16:54  epaepa

	* grab/ee/tv_grab_ee: Added a --cache option like the other
	  grabbers.

	  Correct an occasional error (empty <desc>) in the upstream XML.

2005-12-26 12:55  epaepa

	* grab/za/tv_grab_za: Fixed for site changes.  Previously I think
	  the site wrote programme times as images, but now they're just
	  bold text.  (The output was giving every programme time as
	  January 1st 1970.)

	  Added --offset option.  It was included in the usage message but
	  not accepted.  However, because the site doesn't allow grabbing
	  with an offset, the option just extends the range of days
	  grabbed.  So if you ask for 'two days starting tomorrow' you will
	  in fact get the next week, since that's the shortest range
	  including what you requested.  Also reworked the number of days
	  code a little bit in general, so that a --days flag on the
	  command line overrides any config file setting.

	  The grabber has its own simple --cache mechanism but this was
	  never used since XMLTV::Memoize::check_argv() gobbles any --cache
	  flag given on the command line.  And the function memoized wasn't
	  ever called.	I have removed the check_argv() call so now caching
	  does something; however it needs to be revisited because writing
	  known filenames in /tmp/ is a security hole.

	  Added a little more error checking, and try to include the URI in
	  some error messages.

	  New dependency: List::Util.  I'll check on the mailing list about
	  this.

2005-12-26 06:03  epaepa

	* MANIFEST: Removing tv_grab_es_digital.  It had already been
	  removed in Makefile.PL.

2005-12-26 06:01  epaepa

	* grab/es_digital/tv_grab_es_digital: Removing tv_grab_es_digital.
	  It had already been removed in Makefile.PL.

2005-12-23 12:07  rmeden

	* grab/uk_rt/channel_ids: another update from Nick

2005-12-22 10:12  rmeden

	* lib/exe_wrap.pl: auto-generate --share for tv_grab_huro

2005-12-07 20:22  rmeden

	* grab/uk_rt/channel_ids: apply updates submitted by "Nick"
	  <knowledgejunkie@gmail.com>

2005-12-05 05:50  cpicton

	* grab/za/tv_grab_za: Remove some debugging code

2005-12-03 14:52  cpicton

	* grab/za/tv_grab_za:
	  --------------------------------------------------------------------------------
	    v1.8.5
	  --------------------------------------------------------------------------------

	    - Use Digest::MD5 in place of String::CRC32

	  --------------------------------------------------------------------------------
	    v1.8.4
	  --------------------------------------------------------------------------------

	    - requires String::CRC32 package
	    - support image-based times on dstv.com (via crc32 of image
	  files)
	    - fix some tree memory leaks

	  --------------------------------------------------------------------------------
	    v1.8.3
	  --------------------------------------------------------------------------------

	    - longer timeout required for mnet.co.za when retrieving 30 day
	  schedules.
	    - remove whitespace from mnet.co.za names before translating

	  --------------------------------------------------------------------------------
	    v1.8.2
	  --------------------------------------------------------------------------------

	    - allow selection of mnet.co.za as primary source, with
	  fallback to dstv.com.

	  --------------------------------------------------------------------------------
	    v1.8.1
	  --------------------------------------------------------------------------------

	    - a few channels are missing data on the dstv site, so fallback
	  support (to
	      mnet.co.za) has been added.
	      re-run tv_grab_za --configure to enable this option

2005-11-28 23:54  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Fix bug introduced in previous
	  checkin.

2005-11-27 06:43  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Implement --list-channels option.
	  Make cache-configuration optional.

2005-11-26 07:22  reudeudeu

	* grab/fr/tv_grab_fr: Sync with website latest modifications

2005-11-26 02:17  reudeudeu

	* grab/fr/tv_grab_fr: Upadtes

2005-11-17 17:47  pronovic

	* grab/: au/tv_grab_au.in, re/tv_grab_re: Add missing =pod lines to
	  top of tv_grab_au and tv_grab_re

2005-11-16 15:03  cpicton

	* grab/za/tv_grab_za:	- Changes kindly submitted by Neil G
	    - support new dstv.com layout (once again)
	    - support random channel ID changes on DSTV's site
	    - add referer support required to get listings
	    - moved configuration options to config file
	    - added support for opentime-combined mode in addition to the
	  existing
	      opentime mode. 3-o.dstv.com is created as a virtual channel
	  listing only
	      OpenTime events, with 3.dstv.com listing all M-Net events
	    - added retry support for downloads, skipping channels that
	  fail

2005-11-13 22:23  rmeden

	* Makefile.PL, lib/XMLTV.pm.in, lib/exe_wrap.pl: bump some more
	  files to 0.5.40

2005-11-13 22:17  rmeden

	* MANIFEST, README, doc/README.win32: add notes for 0.5.41

2005-11-05 23:53  rmeden

	* xmltv.dtd, lib/XMLTV.pm.in: allow "dolby digital" as a value for
	  "stereo"

2005-11-04 14:48  rmeden

	* lib/XMLTV.pm.in: don't warn on trimming whitespace.  Doing so
	  causes the record to be dropped.

2005-10-31 23:47  rmeden

	* MANIFEST, Makefile.PL, grab/re/tv_grab_re: initial load of
	  tv_grab_re.  Grabber for Reunion Island (France)

2005-10-30 17:37  rmeden

	* Makefile.PL: tv_grab_es_digital no longer works due to source
	  site changes

2005-10-28 16:12  stesie

	* grab/huro/jobmap: new jobmap entry, not translated yet though

2005-10-24 23:23  jveldhuis

	* lib/IMDB.pm: updated estimates minor adjustment to error message
	  accounted for "{{SUSPENDED}}" occurences in movie titles sanity
	  case for Army of Darkness failed because order of genres changed

2005-10-21 01:01  rmeden

	* MANIFEST, Makefile.PL, grab/ee/tv_grab_ee: Inital load of Estonia
	  grabber, by	Cougar < cougar at random.ee >

2005-10-19 09:36  cpicton

	* grab/za/tv_grab_za: Strip leading and trailing whitespace from
	  title, subtitle and description elements.

2005-10-19 09:16  cpicton

	* grab/za/tv_grab_za: Minor fix for when show title has whitespace
	  at beginning or end of name.

2005-10-19 06:27  cpicton

	* grab/za/tv_grab_za: Fix for -configure mode, as website changed
	  once again.

2005-10-16 01:33  rmeden

	* choose/tv_check/tv_check: fix bug that prevented show bumped
	  forward a slow from being found

2005-10-11 01:04  rmeden

	* lib/exe_wrap.pl: add undocumented "exec" function to execute
	  arbitrary script

2005-10-07 07:50  cpicton

	* grab/za/tv_grab_za: Updated grabber for the new layout of the
	  dstv.com website

2005-09-26 07:55  gawen

	* grab/pt/tv_grab_pt: Bug fix. When it was unable to retrieve
	  programs for one day, the whole channel returned empty.

2005-09-22 16:38  nielm

	* grab/be/tv_grab_be.in: work around telemoustique site changes by
	  using telepocket

2005-09-11 13:08  gawen

	* grab/pt/tv_grab_pt: Updated the "help" information

2005-09-11 13:07  gawen

	* grab/pt/tv_grab_pt: it can now handle icons

2005-09-02 11:44  rmeden

	* grab/na_dd/tv_grab_na_dd.in: deal with only a single mapped
	  station

2005-09-02 10:16  rmeden

	* MANIFEST, Makefile.PL, grab/br/tv_grab_br: tv_grab_br (Brazil)
	  initial check-in

2005-08-27 13:27  epaepa

	* grab/nl/tv_grab_nl: Another progress message fix.

2005-08-27 13:22  epaepa

	* grab/Config_file.pm: Don't warn about overwriting an empty file.

2005-08-27 12:56  epaepa

	* Makefile.PL, README: tv_grab_pt needs Unicode::UTF8simple.

2005-08-27 12:13  epaepa

	* grab/au/tv_grab_au.in: Trim leading and trailing whitespace from
	  some fields.

2005-08-27 12:11  epaepa

	* grab/nl/tv_grab_nl: Write progress messages to stderr - not in
	  the middle of the XML output!

2005-08-27 11:58  epaepa

	* grab/nl/tv_grab_nl: Fixed detection of Log::TraceMessages.  (A
	  'use' statement is done at compile time, so it doesn't help to
	  put it inside an 'if' block.)

2005-08-25 07:16  mnbjhguyt

	* grab/it/tv_grab_it.PL: [no log message]

2005-08-25 07:08  mnbjhguyt

	* Makefile.PL: update needed for tv_grab_it

2005-08-25 07:07  mnbjhguyt

	* grab/it/: channel_ids, tv_grab_it.PL, tv_grab_it.in: new version
	  to reflect site changes and test 2-language messages

2005-08-21 14:08  reudeudeu

	* grab/fr/tv_grab_fr: Update the default URL for the grabber

2005-08-20 15:29  epaepa

	* grab/test_grabbers: A tool to automate running each grabber in
	  turn.  It then does some checks on the output (valid, sortable
	  etc).

2005-08-16 14:41  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: write out programme's
	  rating

2005-08-15 15:27  stesie

	* grab/ch/: channel_ids, tv_grab_ch.in: fixing bug (read: rfe)
	  1259098; allow the user to specify whether to write out the first
	  or the last show provided by the grabbed webpages

2005-08-14 21:08  rmeden

	* choose/tv_check/tv_check: allow multiple --myreplaytv entries.
	  Pretty-up myreplaytv deleted report

2005-08-14 19:02  gawen

	* grab/pt/tv_grab_pt: some optimizations

2005-08-14 18:52  gawen

	* grab/pt/tv_grab_pt: adjusting some site changes

2005-08-08 23:08  rmeden

	* grab/ch/tv_grab_ch: tv_grab_ch is now generated from
	  tv_grab_ch.in

2005-08-08 23:06  rmeden

	* lib/exe_opt.pl: add encodings data files for XML::Parser

2005-08-03 23:30  rmeden

	* xmltv.dtd, grab/na_dd/tv_grab_na_dd.in, lib/XMLTV.pm.in: add
	  {video}{quality} tag.  modify tv_grab_na_dd to set {quality} and
	  {aspect} on dd {hdtv} parameter

2005-08-03 06:43  eborn

	* grab/nl/tv_grab_nl: Fixes for the changed behaviour of tvgids.nl
	  when trying to look ahead more then 3 days.

2005-07-31 02:47  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: fixing broken --slow
	  routine

2005-07-27 13:39  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: various adjustments
	  necessary due to upstream site changes

2005-07-27 11:26  gawen

	* grab/pt/tv_grab_pt: corrected encoding, now is fully utf8

2005-07-26 19:59  gawen

	* grab/pt/tv_grab_pt: typo

2005-07-26 15:47  gawen

	* grab/pt/tv_grab_pt: more debug

2005-07-26 07:24  gawen

	* grab/pt/tv_grab_pt: let's do the checks easier.

2005-07-26 07:20  gawen

	* grab/pt/tv_grab_pt: little tweak to really allow the grabber to
	  get the 7 days of lists

2005-07-26 05:53  gawen

	* grab/pt/tv_grab_pt: encoding fix

2005-07-25 19:30  gawen

	* grab/pt/tv_grab_pt: usage message was wrong

2005-07-25 11:14  gawen

	* grab/pt/tv_grab_pt: fixes for the site layout changes

2005-07-13 09:16  mnbjhguyt

	* grab/it/: channel_ids, tv_grab_it.in: one, backend removed, one
	  switched; still no i18n (no time yet)

2005-07-05 03:05  cpicton

	* grab/za/tv_grab_za: Ensure that POSIX qw(strftime) is included or
	  the grabber would fail on some perl distributions.

2005-07-04 10:56  rmeden

	* xmltv.dtd, grab/na_dd/tv_grab_na_dd.in, lib/XMLTV.pm.in: allow
	  "dolby" as a valid "stereo" value.

2005-07-04 10:33  mnbjhguyt

	* grab/it/channel_ids: new channels

2005-06-17 17:34  rmeden

	* Makefile.PL, grab/ch/channel_ids, grab/ch/tv_grab_ch,
	  grab/ch/tv_grab_ch.PL, grab/ch/tv_grab_ch.in, lib/exe_wrap.pl:
	  Initial load of tv_grab_ch (Switzerland)

2005-06-17 12:14  rmeden

	* MANIFEST, Makefile.PL, grab/au/channel_ids,
	  grab/au/tv_grab_au.PL, grab/au/tv_grab_au.in, lib/exe_wrap.pl:
	  add tv_grab_au grabber

2005-06-17 09:05  stesie

	* MANIFEST, Makefile.PL: Added --slow mode to tv_grab_huro

2005-06-17 09:00  stesie

	* grab/huro/: jobmap, tv_grab_huro, tv_grab_huro.PL,
	  tv_grab_huro.in: Added --slow mode to tv_grab_huro

2005-06-16 00:53  rmeden

	* MANIFEST, Makefile.PL, grab/is/tv_grab_is: Initial load of
	  tv_grab_is (Iceland)

2005-06-14 23:10  rmeden

	* grab/es_digital/tv_grab_es_digital: apply correction to date
	  format.

2005-06-14 02:49  cpicton

	* grab/za/tv_grab_za: Fix tab/space indentation Get shows which run
	  from over days (before 24:00 to after 24:00) correctly.

2005-06-11 14:40  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Set useragent correctly.

2005-06-09 13:31  mattiasholmlund

	* grab/: Get_nice.pm, se_swedb/tv_grab_se_swedb: Moved
	  cache-configuration to tv_grab_se_swedb.conf to keep all
	  configuration in a single file.

2005-06-04 00:40  rmeden

	* README: forgot to change date in readme

2005-06-04 00:38  rmeden

	* README, doc/README.win32: add warning about new grabbers

2005-06-04 00:36  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: bump version to 0.5.40

2005-05-31 09:51  rmeden

	* lib/exe_opt.pl: found a DB_FILE module for windows, so can now
	  include it in the EXE

2005-05-31 02:41  mnbjhguyt

	* grab/it/tv_grab_it.in: now writes <channels> section couple bugs
	  fixed

2005-05-30 22:45  rmeden

	* grab/uk_rt/tv_grab_uk_rt.in: correct documentation.  --days and
	  --offset switches are not supported

2005-05-30 05:38  mnbjhguyt

	* grab/it/tv_grab_it.in: [no log message]

2005-05-30 05:37  mnbjhguyt

	* grab/it/channel_ids: updated and fixed error

2005-05-29 12:57  epaepa

	* doc/QuickStart, grab/uk_rt/tv_grab_uk_rt.in: Note that in fact
	  tv_grab_uk_rt has Irish listings too.

2005-05-28 18:12  rmeden

	* MANIFEST, Makefile.PL, grab/za/tv_grab_za: initial load of
	  tv_grab_za (South Africa).  Uncommented _it in Makefile.PL

2005-05-24 07:49  mnbjhguyt

	* grab/it/tv_grab_it.in: brand new grabber

2005-05-24 07:48  mnbjhguyt

	* grab/it/channel_ids: brand new file for the new grabbe

2005-05-24 07:32  mnbjhguyt

	* lib/exe_wrap.pl: removed tv_grab_it_lt

2005-05-24 05:18  mnbjhguyt

	* grab/it_lt/: channel_ids, tv_grab_it_lt.PL, tv_grab_it_lt.in: [no
	  log message]

2005-05-24 05:17  mnbjhguyt

	* MANIFEST, Makefile.PL: removed tv_grab_it_lt (will be substituted
	  by a new grabber)

2005-05-23 22:56  rmeden

	* MANIFEST, Makefile.PL, grab/be/channel_ids_fr,
	  grab/be/channel_ids_nl, grab/be/tv_grab_be.PL,
	  grab/be/tv_grab_be.in, lib/exe_wrap.pl: initial load of Niel
	  Markwick's tv_grab_be grebber for Belgum and Luxemburg

2005-05-22 23:56  rmeden

	* lib/exe_wrap.pl: tv_grab_nl no longer needs --share

2005-05-16 14:58  axis3x3

	* grab/uk_rt/tv_grab_uk_rt.in: Added a list of choices to
	  configuration, rather than guessing channel names.

2005-05-10 09:46  eborn

	* grab/nl/tv_grab_nl: This is the corrected version of the
	  tv_grab_nl script. The script was no longer working because of a
	  restyle of the site tvgids.nl

	  The new site contains a list of channels, so the seperate
	  channels file is no longer required.

2005-05-10 09:45  eborn

	* grab/nl/: channels, tv_grab_nl.PL, tv_grab_nl.in: These files are
	  no longer required, because we don't need a seperate 'channels'
	  file.

2005-05-10 09:42  eborn

	* Makefile.PL: We no longer need the Makefile to add the share
	  directory to the tv_grab_nl.in file.

2005-04-30 11:51  rmeden

	* grab/na_dd/tv_grab_na_dd.in: move timezone change information
	  from a "say" to the "ask" question so it stays on the screen for
	  GUI users.

2005-04-20 08:55  rmeden

	* grab/na_dd/tv_grab_na_dd.in: report more friendly DataDirect
	  server errors

2005-04-13 14:37  reudeudeu

	* grab/fr/tv_grab_fr:  - Remove the 'use threads' modules as they
	  are unused right now

2005-04-10 14:36  reudeudeu

	* grab/fr/tv_grab_fr:  - Now accpet the 'oe' caracter
	   - Remove the newline in the description when adding comments
	   - Remove infamous tab chars

2005-04-09 19:44  rmeden

	* choose/tv_check/tv_check: compute local date/time for "skip
	  episode if before today". (title scan) allow "--notruncate" to
	  include episodes before today (title scan)

2005-04-06 11:11  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Move debug-message to silence
	  warning.

2005-04-02 11:24  reudeudeu

	* grab/fr/tv_grab_fr: Add Freebox channels Add TNT channels

2005-03-29 19:58  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add POD documentation for
	  --list-times

2005-03-29 19:40  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add --list-times switch to support
	  DD suggestedTimes fix --beta-data URL allow new DD userLineupName
	  to be used as orig-id add support for DD <dolby> attribute

2005-03-23 04:56  komoriya

	* grab/jp/tv_grab_jp: Adapt to new format of the site for Japanese.
	  Add support for multiple region.

2005-03-23 02:39  rmeden

	* choose/tv_check/tv_check: print message when myreplay show is
	  deleted

2005-03-22 12:28  axis3x3

	* grab/Grab_XML.pm: Fixed a missing "if not $opt_quiet" to prevent
	  error messages when --quiet is used.

2005-03-19 11:37  pronovic

	* Makefile.PL: Rework Makefile.PL to offer --strict-deps rather
	  than --nodeps

2005-03-19 11:09  jtoft

	* grab/dk/tv_grab_dk: Fixed #1166495, --days >7 results in wrong
	  data, as its not available.

2005-03-17 19:43  pronovic

	* README: Fix documented external dependencies

2005-03-17 18:38  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fish out explicit timezone given in
	  programme title.  See
	  <http://article.gmane.org/gmane.comp.tv.xmltv.devel/4890>.  In
	  fact, the timezone was already being guessed correctly but it
	  doesn't hurt to use it as an additional hint.

2005-03-17 18:09  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Whitespace.

2005-03-16 12:03  axis3x3

	* grab/uk_bleb/: icon_urls, tv_grab_uk_bleb.in: Added a new list of
	  icons and credited its author.

2005-03-14 15:35  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: enclosing get_nice call
	  with eval, to be more indulgent towards tvtoday.de's apache

2005-03-14 15:16  stesie

	* Makefile.PL, MANIFEST, filter/tv_to_potatoe: adding
	  tv_to_potatoe.

2005-03-13 16:17  epaepa

	* lib/exe_wrap.pl: Version 0.5.39.

2005-03-13 16:13  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: Version
	  0.5.39.

2005-03-13 15:49  epaepa

	* Makefile.PL: Disabled tv_grab_it_lt.

2005-03-13 15:46  epaepa

	* grab/uk_rt/channel_ids: Added a couple of channels.

2005-03-12 16:29  epaepa

	* grab/es/tv_grab_es: Trim whitespace from programme title.

2005-03-12 12:34  jveldhuis

	* lib/IMDB.pm: place warning about failing to decode year in log

2005-03-12 11:33  jveldhuis

	* lib/IMDB.pm: change case where no year could be decoded as a
	  warning, updated countEstimates

2005-03-01 03:56  axis3x3

	* grab/uk_rt/tv_grab_uk_rt.in: Fix for problems with uninitialised
	  bar being used reported by Roger James.

2005-02-27 13:46  reudeudeu

	* grab/fr/tv_grab_fr: Add actor/director/date/length fields

2005-02-25 13:19  axis3x3

	* grab/uk_bleb/icon_urls: Added an alternate name for itv3.

2005-02-25 13:17  axis3x3

	* grab/uk_bleb/icon_urls: Fixed another bad URL.

2005-02-25 13:10  axis3x3

	* grab/uk_bleb/icon_urls: Fixed a bad URL I had introduced.

2005-02-25 12:55  axis3x3

	* grab/uk_bleb/icon_urls: Changed to some better icons, mostly from
	  freeview.co.uk.

2005-02-21 14:55  stesie

	* grab/huro/tv_grab_huro: port.hu unfortunately doesn't show
	  <blockquote> below <body> but embedded in <font>. Didn't test
	  enough last night; Sorry for the inconvenience.

2005-02-20 16:42  epaepa

	* grab/fr/tv_grab_fr: Cleaned up another couple of bad characters
	  which make the output badly formed.

	  Fixed another reason for the output being badly formed: if you
	  must print a success message at the end at least put it to stderr
	  not the end of the XML file!

2005-02-20 16:35  epaepa

	* grab/fr/tv_grab_fr: Go back to always calling get_page_aux() in
	  scalar context, this makes memoizing it work properly.

2005-02-20 14:40  stesie

	* grab/huro/tv_grab_huro: Don't try to parse any information before
	  closing </blockquote>.

2005-02-15 17:01  mnbjhguyt

	* grab/it_lt/tv_grab_it_lt.in: A bit of code cleaning and tweaking.

2005-02-13 17:32  epaepa

	* grab/fr/tv_grab_fr: Patch from Sylvain:

	  - Deal properly with UTF8 and ISO-8859-1 charsets, everything
	  should   be fine now - Solve the --slow problem (ie empty
	  description fields), thanks to   Bertrand from the Biboobox forum
	  - Reduce the delay of the get_nice.pm : it brings a HUGE
	  acceleration	 of the whole grabbing process.  - Display the
	  script duration

2005-02-10 16:46  mnbjhguyt

	* grab/it_lt/tv_grab_it_lt.in: Preliminary working version after
	  major changes in the scraped site

2005-02-10 16:20  mnbjhguyt

	* grab/it_lt/channel_ids: More channels added.

2005-02-06 15:18  epaepa

	* grab/Memoize.pm: use strict;

2005-02-06 15:15  epaepa

	* grab/Memoize.pm: Removed support for ancient versions of Memoize.

2005-02-06 12:58  epaepa

	* grab/it_lt/tv_grab_it_lt.in: Check regexp match - don't assume it
	  succeeded.

2005-01-30 10:36  axis3x3

	* grab/uk_rt/tv_grab_uk_rt.in, lib/Ask.pm: Added --gui option to
	  tv_grab_uk_rt and fixed a missing import in Ask.pm.

2005-01-24 00:09  rmeden

	* Makefile.PL: add ChangeLog to Windows_Dist

2005-01-23 17:38  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.38.  Noted reduced dependencies for
	  tv_grab_no.

2005-01-23 17:21  epaepa

	* grab/de/tv_grab_de: Switched to the 'backup server' which briefly
	  started serving files again; unfortunately, it has now stopped
	  once more.

2005-01-23 17:19  epaepa

	* grab/fr/tv_grab_fr: Patch from the author for site changes.

2005-01-23 16:39  epaepa

	* Makefile.PL, grab/pt/tv_grab_pt: Bruno's new tv_grab_pt fetching
	  from a different website.  This is based on the version he sent
	  me, plus the diff I cc'd to the mailing list, then a few changes
	  to put back --gui and for detecting old config files.

2005-01-23 15:09  epaepa

	* grab/uk_rt/channel_ids: Update for site changes.

2005-01-23 15:05  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Added some de-HTML-crufting to bad
	  characters filter.

2005-01-23 14:39  epaepa

	* grab/fr/tv_grab_fr: Output appears to be UTF-8 so mark it as
	  such.  Now it validates.

	  Added some checks to date/time manipulations.

2005-01-16 21:05  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add a special SOAP debug mode to
	  display a SOAP trace.

2005-01-14 02:12  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Handle missing channels
	  gracefully

2005-01-13 12:03  stesie

	* grab/huro/tv_grab_huro: Allow the first programme in the lower
	  part of the homepage to start at midnight or even later.
	  Furthermore allow '24:00' to be shown in the starttime cell,
	  meaning 0:00 actually.

2005-01-13 11:54  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Don't stop the grabbing
	  process if a popup window cannot be downloaded successfully, just
	  warn.

	  Fix of bug report 1100226 on SF.net

2005-01-12 23:46  rmeden

	* grab/na_dd/tv_grab_na_dd.in: set default --days to match docs
	  (this may change before release) fix OriginalAirDate to confirm
	  to DTD date format.

2005-01-09 17:17  epaepa

	* grab/fi/tv_grab_fi: Factored out the website address a bit.

2005-01-09 16:24  epaepa

	* Makefile.PL: Disabled tv_grab_it.

2005-01-09 11:14  epaepa

	* grab/it/tv_grab_it.in: Tried to improve robustness by checking
	  regexp matches rather than assuming they succeeded.  But this
	  only highlighted the fact that the site is currently unavailable;
	  added a check for that.

2005-01-08 15:21  epaepa

	* grab/it/tv_grab_it.in: Whitespace.

2005-01-08 12:53  epaepa

	* grab/se_swedb/tv_grab_se_swedb: Added support for --cache option
	  (yea, even though it already uses HTTP::Cache::Transparent).
	  Create directory for config file if needed in --configure.

2004-12-26 10:32  rmeden

	* grab/na_dd/tv_grab_na_dd.in: Fix problem with producer. Minor
	  performance tweak

2004-12-22 03:27  christianw

	* grab/no/tv_grab_no: Fixed so that Eurosport and SVT1 also gets
	  grabbed.. Glitch in the source site.

2004-12-18 22:29  rmeden

	* README, doc/README.win32: add a note about using proxy servers

2004-12-16 09:37  christianw

	* grab/no/tv_grab_no: NOW I have fixed descriptions. At least it
	  works for me now... Sorry bout that ;)

2004-12-16 07:57  christianw

	* grab/no/tv_grab_no: Fixed grabbing of descriptions.

2004-12-15 12:05  stesie

	* grab/huro/tv_grab_huro: adding support for clumpidx attribute

2004-12-15 12:04  stesie

	* grab/huro/tv_grab_huro: Make sure that <td> in starttime column
	  always contains a valid timespec, discard other cells.

2004-12-15 12:01  stesie

	* grab/huro/tv_grab_huro: Data tables of port.{hu,ro} aren't always
	  broken at 8 pm. exactly, i.e. the break may occur a little bit
	  earlier.

	  Fixing the grabber to not expect 8 o'clock break.

2004-12-14 09:41  christianw

	* grab/no/tv_grab_no: Rewrote some of the grabbing routine. No
	  longer relies on HTML::LinkExtractor or HTML::TableExtract. Grabs
	  from text-only resource. Should be a tad quicker.

2004-12-13 14:26  mnbjhguyt

	* lib/exe_wrap.pl: add tv_grab_it_lt to grabbers needing share dir

2004-12-05 14:50  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Store the root-url in the
	  configuration file. Patch by Bjrn Torkelsson.

2004-12-05 05:47  epaepa

	* Makefile.PL, README: Make it clear that HTTP::Cache::Transparent
	  is needed for tv_grab_se_swedb.

2004-12-05 05:01  epaepa

	* grab/Get_nice.pm: init_cache() now returns a boolean saying
	  whether the config file was found.

2004-12-05 04:58  epaepa

	* grab/Get_nice.pm: Use die() rather than print STDERR then
	  exit(1).

2004-12-04 18:58  stesie

	* grab/huro/tv_grab_huro: Check the whole content_list of a table
	  when trying to figure out whether to skip it or not, instead of
	  checking the first element (which may be whitespace and 'cause
	  things to crash) only.

2004-12-04 16:45  epaepa

	* grab/se_swedb/tv_grab_se_swedb: Usage error goes to stderr not
	  stdout.

2004-12-03 16:57  rmeden

	* grab/dk/tv_grab_dk: ensure a normal exit status has a value of 0

2004-12-03 09:40  stesie

	* grab/huro/tv_grab_huro: Specify how many days we'd like to have
	  returned on one grabbed webpage, through the i_xday flag. Thus
	  speed up grabbing by far (four times faster for the default eight
	  days period).

2004-12-03 09:31  stesie

	* grab/huro/tv_grab_huro: Adjust for changes to the scraped web
	  pages (advertisement banner added).

2004-12-02 15:18  mattiasholmlund

	* grab/: Get_nice.pm, se_swedb/tv_grab_se_swedb: Silence warnings
	  when HOME and HOMEDRIVE is undefined. Preserve channel meta-data
	  from channels.xml

2004-11-29 03:05  rmeden

	* doc/README.win32: missed one version change

2004-11-29 03:00  rmeden

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: changes for 0.5.37 release

2004-11-29 02:15  rmeden

	* grab/fr/tv_grab_fr: rewrite of tv_grab_fr to better deal with
	  data source changes

2004-11-28 17:31  epaepa

	* grab/nl/tv_grab_nl.in: When downloading a page fails, skip it and
	  continue running.

	  Fixed the clump handling for odd start times seen on the site...
	  it's still a bit buggy though and gives complaints from tv_sort.

2004-11-28 16:19  epaepa

	* grab/uk_rt/channel_ids: Added some more channels.

2004-11-28 05:35  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Document the HOME environment
	  variable.

2004-11-27 10:36  mattiasholmlund

	* README: Added Known issues section with info on tv_grab_se_swedb

2004-11-27 05:25  mattiasholmlund

	* Makefile.PL: Enable tv_grab_se_swedb

2004-11-21 15:03  epaepa

	* grab/es/tv_grab_es: Fixed undef bug that caused an occasional
	  programme to be skipped.

2004-11-17 17:19  rmeden

	* grab/no/tv_grab_no: applied patch from Petter Gundersen to relect
	  source site changes

2004-11-16 13:29  mattiasholmlund

	* grab/: Get_nice.pm, se_swedb/tv_grab_se_swedb: Make location of
	  cache.conf a bit more flexible.

2004-11-16 13:19  mattiasholmlund

	* MANIFEST: Add tv_grab_se_swedb, lib/GUI.pm and tv_grab_uk_bleb to
	  MANIFEST

2004-11-15 22:31  rmeden

	* choose/tv_check/tv_check: oops.. typo

2004-11-15 22:30  rmeden

	* choose/tv_check/tv_check: try and get the day of a  myreplaytv
	  show whoose start time has shifted across midnight

2004-11-15 12:22  mattiasholmlund

	* Makefile.PL: Add disabled support for tv_grab_se_swedb. Make
	  error messages from missing Term::ReadKey a bit more obvious.

2004-11-12 09:34  rmeden

	* choose/tv_check/tv_check: fix/improve ReplayTV time slot
	  detection

2004-11-12 01:28  rmeden

	* choose/tv_check/tv_check: exclude episodes already displayed from
	  recording dupe check and start-time scan

2004-11-12 01:09  rmeden

	* choose/tv_check/tv_check: fixed bug that prevented near-time
	  shows as being flagged as bad start time

2004-11-11 14:32  mattiasholmlund

	* grab/se_swedb/tv_grab_se_swedb: Added new grabber for Sweden

2004-11-11 00:03  rmeden

	* Makefile.PL: added GUI to the list of manpages to "fix" (Kenneth
	  Pronovici)

2004-11-10 23:55  rmeden

	* grab/uk_rt/tv_grab_uk_rt.in: added POD Documentation by Kenneth
	  Pronovici

2004-11-10 14:38  jtoft

	* grab/dk/tv_grab_dk: - Added icon support.  - Include the show
	  currently on, when grabbing for today.  - Use login and password
	  instead of userid - Workaround for "day off by one" error, found
	  by Anders Smith.

2004-11-10 10:02  rmeden

	* grab/uk_rt/channel_ids: apply Ed Wildgoose's change to include
	  ITV3

2004-11-08 18:39  mnbjhguyt

	* Makefile.PL, MANIFEST: uncommented tv_grab_it_lt and added files
	  in MANIFEST

2004-11-08 18:36  mnbjhguyt

	* grab/it_lt/tv_grab_it_lt.in: more attributes

2004-11-08 10:48  stesie

	* grab/: es_digital/tv_grab_es_digital, fr/tv_grab_fr,
	  it_lt/tv_grab_it_lt.in, jp/tv_grab_jp, nl/tv_grab_nl.in: don't
	  call $bar->finish() in --quiet mode

2004-11-07 20:29  rmeden

	* grab/na_dd/tv_grab_na_dd.in: fixed problem preventing "UTC" time
	  from working in grab mode.

2004-11-07 15:18  rmeden

	* grab/na_dd/tv_grab_na_dd.in: allow UTC in config file

2004-11-07 15:06  rmeden

	* grab/na_dd/tv_grab_na_dd.in: make sure --quite included progress
	  bar.. (I'm not sure why Andy added a progress bar to the download
	  since we don't get intermediate status, but at least it can be
	  --quite now)

2004-11-03 01:22  rmeden

	* grab/na_dd/tv_grab_na_dd.in: don't write out config file until
	  all questions answered. Prevent corrupt config file on aborted
	  config

2004-11-03 01:12  rmeden

	* choose/tv_check/tv_check: add --notruncate option back for those
	  we want additional coverage only in the extra episode scan

2004-10-31 22:14  rmeden

	* choose/tv_check/tv_check: use UTC dates internally, fix DST
	  issues drop --notruncate switch add --days switch. 7 day
	  limitation removed

2004-10-26 21:13  rmeden

	* lib/exe_wrap.pl: attempt to return non-zero ERRORLEVEL if a
	  script stopped with an error

2004-10-24 20:35  rmeden

	* README: sign readme!

2004-10-24 20:33  rmeden

	* Makefile.PL, lib/XMLTV.pm.in, lib/exe_wrap.pl: bump version to
	  0.5.36

2004-10-24 20:24  rmeden

	* doc/README.win32: mkdist failed because 0.5.35 mentioned as
	  previous version

2004-10-24 20:21  rmeden

	* doc/README.win32: add notes for 0.5.36 from logs

2004-10-24 20:17  rmeden

	* README: add notes for 0.5.36 from logs

2004-10-24 10:07  mattiasholmlund

	* README, grab/Get_nice.pm: HTTP::TransparentCache renamed to
	  HTTP::Cache::Transparent on CPAN.

2004-10-22 15:31  mnbjhguyt

	* grab/it_lt/channel_ids: More channels added.

2004-10-21 17:44  mnbjhguyt

	* grab/it_lt/tv_grab_it_lt.in: Changes to scraped site (has also
	  changed domain to satellite.it). Looks good so far.

2004-10-21 16:03  mnbjhguyt

	* grab/it/tv_grab_it.in: Updated after changes in the scraped site

2004-10-16 09:27  mattiasholmlund

	* grab/se/tv_grab_se: MTV changed their website. Rewrote the
	  mtv-grabber to handle the new site.

2004-10-16 05:50  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: don't call $bar->finish()
	  in --quiet mode!

2004-10-15 13:39  mattiasholmlund

	* grab/se/tv_grab_se: Remove warning for missing data for
	  Kunskapskanalen

2004-10-13 22:58  mattiasholmlund

	* README, grab/Get_nice.pm: Add support for HTTP::TransparentCache

2004-10-09 08:41  rmeden

	* lib/exe_wrap.pl: remove code designed to prevent running from
	  command prompt.  It also prevents some regular expressions.

2004-10-08 14:07  jskov

	* grab/dk/tv_grab_dk: http:cookies warning fixed, changed to
	  xmltv_ns episode format

2004-10-06 06:04  axis3x3

	* grab/uk_bleb/tv_grab_uk_bleb.in: Added a warning when the wrong
	  version of Archive::Zip is installed.

2004-10-05 13:55  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Try to remove HTML cruft from
	  descriptions and to clean up more bad characters - but the
	  character set handling is still all wrong.

2004-10-01 12:53  axis3x3

	* lib/Ask/Term.pm: Added a use Term::ReadKey statement as suggested
	  by Robert.

2004-10-01 07:07  mattiasholmlund

	* grab/se/tv_grab_se: Add Kunskapskanalen

2004-09-28 15:31  epaepa

	* grab/uk_rt/channel_ids: A couple more channels.

2004-09-28 15:18  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fixed configuration.

2004-09-27 16:15  epaepa

	* README: Fixed date.

2004-09-27 16:10  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.35.

2004-09-27 15:57  epaepa

	* grab/it_lt/tv_grab_it_lt.in: askBooleanQuestion -> ask_boolean

2004-09-27 15:33  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fixed formatting of stop time, I
	  hope.

2004-09-27 15:02  epaepa

	* Makefile.PL: Don't set a default PREFIX if none is given.  (SF
	  #977269)

2004-09-27 14:58  epaepa

	* grab/fr/tv_grab_fr: Patch from
	  <http://thread.gmane.org/gmane.comp.tv.xmltv.devel/3845>

2004-09-27 14:55  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fixed askQuestion() etc - somehow
	  got carried over from old code.  When the channel name ends in
	  '(CET)' use that for the base timezone on this channel.

2004-09-27 14:43  epaepa

	* lib/Ask.pm: Whitespace.

2004-09-27 14:40  epaepa

	* grab/uk_rt/channel_ids: Added a few channels.

2004-09-27 14:34  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Shortened error message.

2004-09-27 14:33  epaepa

	* grab/uk_rt/channel_ids: Removed radio channels and a few others
	  that are not provided by the new feed.

2004-09-27 14:18  epaepa

	* Makefile.PL: Disabled tv_grab_pt since the website seems to have
	  gone.  It redirects to another site which also has listings but
	  not in the same format.

2004-09-27 13:56  epaepa

	* Makefile.PL: Disabled tv_grab_it_lt
	  (<http://article.gmane.org/gmane.comp.tv.xmltv.devel/3966>).

2004-09-21 15:48  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: New implementation grabbing from the
	  machine-readable data files.

2004-09-21 15:33  epaepa

	* grab/DST.pm: Comment.

2004-09-21 15:32  epaepa

	* lib/XMLTV.pm.in: Additional usage check.

2004-09-19 11:24  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Don't write progress
	  messages to stderr. (This code used to write out progress-info
	  when no Term::ProgressBar was available, however we have Andy's
	  XMLTV::ProgressBar now.)

2004-09-19 09:16  rmeden

	* grab/huro/tv_grab_huro: add config-file option back (reported by
	  Christian Vandendorpe)

2004-09-13 22:05  rmeden

	* choose/tv_check/tv_check: titles now case insensitive in guide
	  lookups

2004-09-13 15:32  axis3x3

	* grab/na_dd/tv_grab_na_dd.in: Fixed a bug in the auto-config
	  behaviour: na_dd now leaves current settings the same and only
	  uses the default value for new channels.  This was the previous
	  behaviour, but was disrupted in the conversion to gui
	  configuration.

2004-09-10 14:59  mattiasholmlund

	* grab/se/tv_grab_se: Updated Viasat channels to accomodate for
	  new/removed channels and changed website. Commented out all
	  non-Swedish Viasat channels for now. Added --channel parameter.

2004-09-09 03:25  axis3x3

	* grab/na_dd/tv_grab_na_dd.in, lib/Ask/Tk.pm: Attempt to fix a
	  problem with the Tk display on Win32, and a fix for na_dd so that
	  it hides your password during configuration.

2004-09-09 02:28  axis3x3

	* grab/na_dd/tv_grab_na_dd.in: Fixed the "Channel no longer exists"
	  bug and another bug in na_dd that showed ARRAY instead of the
	  question when you chose specific channels within a lineup.

2004-09-07 14:43  mattiasholmlund

	* grab/se/tv_grab_se: Print error-message to stderr.

2004-09-07 13:41  axis3x3

	* MANIFEST, Makefile.PL, grab/Grab_XML.pm,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/es_digital/tv_grab_es_digital,
	  grab/fi/tv_grab_fi, grab/fr/tv_grab_fr, grab/huro/tv_grab_huro,
	  grab/it/tv_grab_it.in, grab/it_lt/tv_grab_it_lt.in,
	  grab/jp/tv_grab_jp, grab/na_dd/tv_grab_na_dd.in,
	  grab/nl/tv_grab_nl.in, grab/no/tv_grab_no, grab/pt/tv_grab_pt,
	  grab/se/tv_grab_se, grab/uk_bleb/tv_grab_uk_bleb.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Ask.pm, lib/GUI.pm,
	  lib/ProgressBar.pm, lib/exe_opt.pl, lib/Ask/Tk.pm,
	  lib/ProgressBar/None.pm, lib/ProgressBar/Term.pm,
	  lib/ProgressBar/Tk.pm: Committed the patch "add GUI progress
	  bars" which displays a Tk progress bar when the --gui option
	  specifies a Tk GUI.  It also rationalises the use of progress
	  bars in XMLTV generally by abstracting the details into a class
	  XMLTV::ProgressBar.

2004-09-06 11:20  mattiasholmlund

	* grab/se/tv_grab_se: Wrap get_nice in eval to avoid stopping the
	  grabber when a single site fails.

2004-09-05 16:35  jveldhuis

	* lib/IMDB.pm: updated estimates

2004-09-05 14:56  mattiasholmlund

	* grab/se/tv_grab_se: Revert back to using iso-8859-1 for output

2004-09-05 13:45  mattiasholmlund

	* grab/se/tv_grab_se: New grabber for Eurosport by Alexander
	  Bostrm

2004-09-04 07:40  jskov

	* grab/dk/tv_grab_dk: Fix for recent site change (Jesper Toft) Scan
	  for categories if the user has an account allowing this (Jesper
	  Toft)

2004-09-02 11:30  axis3x3

	* Makefile.PL, grab/Config_file.pm, grab/Grab_XML.pm,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/es_digital/tv_grab_es_digital,
	  grab/fi/tv_grab_fi, grab/fr/tv_grab_fr, grab/huro/tv_grab_huro,
	  grab/it/tv_grab_it.in, grab/jp/tv_grab_jp,
	  grab/na_dd/tv_grab_na_dd.in, grab/na_icons/tv_grab_na_icons.in,
	  grab/nl/tv_grab_nl.in, grab/no/tv_grab_no, grab/pt/tv_grab_pt,
	  grab/se/tv_grab_se, grab/uk_bleb/tv_grab_uk_bleb.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Ask.pm, lib/GUI.pm,
	  lib/Ask/Term.pm, lib/Ask/Tk.pm: Merged the patch "adding a --gui
	  option to the grabbers" (Andy Balaam).

2004-08-12 19:16  mnbjhguyt

	* grab/it_lt/channel_ids: updated channels

2004-08-12 18:24  mnbjhguyt

	* Makefile.PL: added tv_grab_it_lt

2004-08-12 07:20  mnbjhguyt

	* grab/it_lt/: tv_grab_it_lt.PL, channel_ids, tv_grab_it_lt.in:
	  Alternative grabber for Italy

2004-08-11 18:21  mattiasholmlund

	* grab/se/tv_grab_se: Fix descriptions for *.svt.se

2004-08-11 07:39  axis3x3

	* lib/exe_wrap.pl: Fixed share dir handling for tv_grab_uk_bleb.

2004-08-11 07:29  axis3x3

	* grab/uk_bleb/tv_grab_uk_bleb.in: Fixed incorrect references to
	  Europe_TZ and a renamed method.

2004-08-11 06:59  axis3x3

	* grab/uk_bleb/tv_grab_uk_bleb.in: Fixed a bug where I'd used code
	  that isn't yet in the CVS HEAD.

2004-08-11 06:22  axis3x3

	* Makefile.PL, grab/Grab_XML.pm, grab/uk_bleb/icon_urls,
	  grab/uk_bleb/tv_grab_uk_bleb, grab/uk_bleb/tv_grab_uk_bleb.PL,
	  grab/uk_bleb/tv_grab_uk_bleb.in: Added icons to the uk_bleb
	  grabber's output.

2004-08-09 15:14  mattiasholmlund

	* grab/se/tv_grab_se: Add support for Kanal5, MTV Nordic, Yle,
	  Eurosport and switch xml-encoding to UTF-8. Patch from Alexander
	  Bostrm. Fix Barnkanalen.

2004-08-09 14:05  mattiasholmlund

	* grab/se/tv_grab_se: Improved whitespace handling

2004-08-01 18:34  rmeden

	* grab/na_dd/tv_grab_na_dd.in: detect, warn and ignore some bad DD
	  data values

2004-07-24 06:25  axis3x3

	* lib/exe_opt.pl: Fixed XMLTV::Ask::Tk not being included in exe.

2004-07-24 05:20  axis3x3

	* grab/nl_wolf/tv_grab_nl_wolf: Fixed a typo - a missing $.

2004-07-23 22:09  rmeden

	* lib/exe_wrap.pl: honor the common --quiet command line option

2004-07-23 21:49  rmeden

	* grab/na_dd/tv_grab_na_dd.in: use consistent text for errors and
	  warnings

2004-07-22 04:21  axis3x3

	* MANIFEST, Makefile.PL, lib/Ask.pm, lib/AskTerm.pm, lib/AskTk.pm,
	  lib/Ask/Term.pm, lib/Ask/Tk.pm: Moved the files lib/AskTk.pm and
	  lib/AskTerm.pm to their own directory lib/Ask/.

2004-07-20 03:04  axis3x3

	* Makefile.PL, grab/Grab_XML.pm, grab/nl_wolf/tv_grab_nl_wolf,
	  grab/uk_bleb/tv_grab_uk_bleb: Added new UK grabber
	  tv_grab_uk_bleb.

2004-07-17 09:45  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: write out clumps, if
	  required (especially for news programmes, followed by weather
	  forecasts or stock news)

2004-07-17 09:41  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: fix category matching:
	  require a semicolon before credits in regexp

2004-07-07 11:30  rmeden

	* grab/na_dd/tv_grab_na_dd.in: ommit additional messages in --quiet
	  mode

2004-07-05 15:41  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Unfortunately didn't save
	  latest changes, checking in rev. 1.15 (icon support). Sorry for
	  the inconvenience

2004-07-05 15:10  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: display progress bar, when
	  generating channel-list with icon-urls included

2004-07-05 13:28  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Include URLs of channel
	  icons in XML output.	In --list-channels mode only do so if
	  --icons flag is presented, since for each channel a
	  webpage-request is necessary.

	  Work mainly based on patch committed by Olaf Mandel.

2004-07-04 10:56  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: strip episode-number from
	  show's title (adapting to change of tvtoday.de's web pages)

2004-07-01 00:41  rmeden

	* grab/na_icons/tv_grab_na_icons.in: set user agent to identify
	  client to server

2004-06-25 07:07  axis3x3

	* lib/AskTk.pm: Updated the XMLTV_TK code to work with Tk804
	  (breaks compatibility with Tk800).

2004-06-11 17:51  rmeden

	* grab/: na_dd/tv_grab_na_dd.in, na_icons/tv_grab_na_icons.in: set
	  user agent to identify client to server

2004-06-08 00:03  rmeden

	* grab/na_dd/tv_grab_na_dd.in: improve error message on DataDirect
	  error

2004-06-07 00:54  rmeden

	* grab/na_dd/tv_grab_na_dd.in: report DataDirect errors cleanly
	  even if XML is corrupt

2004-06-03 21:08  rmeden

	* doc/README.win32: update README with current supported apps and
	  warnings

2004-06-03 21:01  rmeden

	* grab/na_icons/tv_grab_na_icons.in: during debug, separate web
	  fetches into separate files

2004-06-03 20:56  rmeden

	* grab/na_dd/tv_grab_na_dd.in: detect stations w/o callsigns in DD
	  data (shouldn't happen)

2004-05-23 14:19  epaepa

	* mkdist: Increased cvs compression level to -z7.

2004-05-23 14:18  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.34.

2004-05-23 13:19  epaepa

	* grab/se/tv_grab_se: Trim whitespace from descriptions.

2004-05-23 13:15  epaepa

	* MANIFEST: Fixed for earlier changes (tv_grab_it, tv_grab_nz).

2004-05-23 13:01  epaepa

	* MANIFEST, Makefile.PL, grab/nz/episode_names,
	  grab/nz/tv_grab_nz.PL, grab/nz/tv_grab_nz.in: Removing tv_grab_nz
	  as threatened.

2004-05-23 12:45  epaepa

	* lib/XMLTV.pm.in: Handle reading bad files better: when a handler
	  returns undef (for error) then ignore that subelement.

2004-05-23 12:38  rmeden

	* grab/na_icons/tv_grab_na_icons.in: add messages to help with
	  --debug

2004-05-23 11:30  epaepa

	* lib/AskTerm.pm: ask_question(): warn rather than die on duplicate
	  choices.

2004-05-23 11:23  epaepa

	* grab/: dk/tv_grab_dk, fi/tv_grab_fi, fr/tv_grab_fr,
	  it/tv_grab_it.in, nl/tv_grab_nl.in, no/tv_grab_no, pt/tv_grab_pt,
	  uk_rt/tv_grab_uk_rt.in: Take a more sensible approach to cleaning
	  up bad characters - if there are any left outside the legal
	  ISO-8859-1 range give a warning.

2004-05-23 11:20  epaepa

	* grab/uk_rt/channel_ids: A couple more channels.

2004-05-23 11:16  epaepa

	* grab/uk_rt/channel_ids: There is no Ananova grabber now, so
	  removed FIXME.

2004-05-23 09:16  epaepa

	* grab/fi/tv_grab_fi: get_desc_scr(): trim whitespace.

2004-05-23 09:03  epaepa

	* grab/uk_rt/channel_ids: Two new channels (patch from Ryan
	  Dalzell).

2004-05-23 03:51  epaepa

	* MANIFEST, README.cygwin: Niel Markwick's howto on running xmltv
	  under Cygwin.

2004-05-22 15:22  epaepa

	* grab/na_dd/tv_grab_na_dd.in: Corrected usage message.

2004-05-20 20:36  rmeden

	* grab/na_dd/tv_grab_na_dd.in: add support for closed captions

2004-05-20 14:31  epaepa

	* Makefile.PL, grab/it/channel_ids, grab/it/dud_channels,
	  grab/it/tv_grab_it.in: Changes to tv_grab_it by its author Davide
	  Chiarini.  It now uses a channel_ids file and the dud_channels
	  file is no longer needed.

2004-05-14 21:39  jveldhuis

	* lib/IMDB.pm: updated estimates to progress bars are accurate

2004-05-14 20:52  jveldhuis

	* lib/IMDB.pm: use lc instead of requiring names/categories to be
	  proper regexp

2004-05-14 17:21  rmeden

	* lib/exe_opt.pl, lib/exe_wrap.pl, doc/README.win32: add EXE
	  support for tv_grab_se

2004-05-14 16:21  rmeden

	* grab/na_dd/tv_grab_na_dd.in: improve handling of c-band listings

2004-05-13 14:32  epaepa

	* grab/Config_file.pm: check_no_overwrite(): reformatted message
	  string to allow for long filename.

2004-05-13 14:30  epaepa

	* lib/AskTerm.pm: ask(): Patch suggested by Niel Markwick to handle
	  backspace ourselves, since the terminal may have screwed up
	  somehow.

2004-05-13 13:52  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Require at least one channel to be
	  entered in configuration (Sourceforge bug #951849).

2004-05-10 10:22  rmeden

	* grab/na_dd/tv_grab_na_dd.in: remind folks to add a lineup!

2004-05-09 13:32  epaepa

	* MANIFEST, Makefile.PL, grab/na_dd/tv_grab_na_dd.IN,
	  grab/na_dd/tv_grab_na_dd.PL, grab/na_dd/tv_grab_na_dd.in,
	  grab/na_icons/tv_grab_na_icons.IN,
	  grab/na_icons/tv_grab_na_icons.PL,
	  grab/na_icons/tv_grab_na_icons.in: Renamed
	  tv_grab_na_{dd,icons}.IN to .in.

2004-05-09 12:56  epaepa

	* Makefile.PL: Work around MakeMaker bug by adding PREFIX argument
	  when one not given.

2004-05-09 12:49  epaepa

	* grab/: de/tv_grab_de, de_tvtoday/tv_grab_de_tvtoday.in,
	  dk/tv_grab_dk, es/tv_grab_es, es_digital/tv_grab_es_digital,
	  fi/tv_grab_fi, fr/tv_grab_fr, huro/tv_grab_huro,
	  it/tv_grab_it.in, jp/tv_grab_jp, na_dd/tv_grab_na_dd.IN,
	  nl/tv_grab_nl.in, nl_wolf/tv_grab_nl_wolf, no/tv_grab_no,
	  nz/tv_grab_nz.in, pt/tv_grab_pt, se/tv_grab_se,
	  uk_rt/tv_grab_uk_rt.in: Mention --help in pod documentation.

2004-05-08 21:53  rmeden

	* grab/: na_dd/tv_grab_na_dd.IN, na_icons/tv_grab_na_icons.IN:
	  document --share switch

2004-05-08 21:40  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: replace --dd-file with --dd-data in
	  docs.  removed Ed's "too short" patch, can generate false errors.
	  SOAP problems now better detected.  die with error when --dd-data
	  temp file cannot be opened.

2004-05-08 15:07  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch from Niel Markwick fixing the
	  bugs in category grabbing and enabling it with --get-categories.

2004-05-08 14:42  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Notice bits of text telling you when
	  the next episode is on.  Later we might handle these more
	  cleverly.

2004-05-08 14:29  epaepa

	* Makefile.PL: Fixed typo in last change.

2004-05-08 13:54  epaepa

	* README: Mention Term::ReadKey.

2004-05-08 13:53  epaepa

	* Makefile.PL: tv_grab_na_dd requires Term::ReadKey.

2004-05-08 13:52  epaepa

	* Makefile.PL: Removed tv_grab_na remnants.

2004-05-08 13:51  epaepa

	* grab/na_dd/tv_grab_na_dd.IN: Use ask_password().

2004-05-08 13:44  epaepa

	* lib/: AskTerm.pm, AskTk.pm: ask_password(): new function like
	  ask() but without echoing.

2004-05-08 13:36  epaepa

	* lib/: AskTerm.pm, AskTk.pm: Start migrating from names like
	  askManyBooleanQuestions to something_more_readable.

2004-05-08 13:34  epaepa

	* lib/AskTk.pm: Changed width to -width, padx to -padx and pady to
	  -pady in attempt to make it work with current Tk versions.  It
	  still doesn't though :-(.

2004-05-08 11:38  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: work around SOAP error handling not
	  kicking off.	Properly detect soap errors.

2004-05-08 10:40  epaepa

	* grab/na_dd/tv_grab_na_dd.IN: As well as checking for completely
	  empty SOAP result, check for a result which is much too small -
	  it could be some error message struggling to get out.

2004-05-08 09:34  epaepa

	* MANIFEST, Makefile.PL, doc/QuickStart, grab/hu/tv_grab_hu:
	  Replaced tv_grab_hu with tv_grab_huro.

2004-05-08 09:30  epaepa

	* README: Removed 0.5.33 list of changes.

2004-05-08 09:26  epaepa

	* grab/huro/tv_grab_huro: Renamed to tv_grab_huro.

2004-05-08 09:24  epaepa

	* grab/Config_file.pm: filename(): removed migration of foo ->
	  foo.conf, users have had enough time to do that.  Added an
	  optional fourth argument so one can specify a migration from one
	  program name to another.

2004-05-08 09:16  epaepa

	* grab/huro/tv_grab_huro: tv_grab_hu renamed to tv_grab_huro -
	  committing for the record before I change the name in the code.

2004-05-08 09:08  epaepa

	* grab/hu/tv_grab_hu: MTZ and others pointed out that www.port.ro
	  uses the same format as www.port.hu, so it is simple to extend
	  the grabber (using some bits of old _sn code) to do both.  I will
	  shortly rename it.

2004-05-08 08:22  epaepa

	* grab/hu/tv_grab_hu: Factored out domain name of site.

2004-05-08 05:19  epaepa

	* mkdist: Updated for new CVS hostname.

2004-05-08 05:17  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.33.

2004-05-08 05:04  epaepa

	* grab/no/tv_grab_no: Fixed occasional intrusion of HTML into
	  title.

2004-05-08 04:24  epaepa

	* grab/no/tv_grab_no: Fixed episode number handling, I hope.

2004-05-08 04:15  epaepa

	* grab/na_dd/tv_grab_na_dd.IN: Don't write 'duplicate' channel
	  elements for two channels that have the same id.  However, we
	  still have a problem deciding what to do when zap2it gives this
	  data.

2004-05-07 13:33  epaepa

	* grab/no/tv_grab_no: Filter out bad character 25.

2004-05-06 15:16  epaepa

	* grab/no/tv_grab_no: Fixed for more site changes.

2004-05-05 17:24  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: exit before doing any listings if
	  --list-channels add documentation for DD account expirations

2004-05-05 14:15  epaepa

	* Makefile.PL: Added --components option to let you choose what to
	  install on the command line rather than interactively.  As
	  requested by Sagar Shah.

2004-05-05 13:59  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: warn users about wasted bandwidth
	  downloading ignored channels and suggest updating lineup at
	  datadirect.

2004-05-05 09:18  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: doc changes to mention new icon
	  handling

2004-05-04 14:50  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Work around malformed title
	  attribute in source HTML.

2004-05-03 15:47  epaepa

	* grab/jp/tv_grab_jp: Check that the euc-jp encoding is available
	  and that Encode::JP could be loaded - on my box that module seems
	  to silently fail to load.

2004-05-03 14:32  epaepa

	* grab/hu/tv_grab_hu: Marking myself as maintainer since Attila
	  Szekeres is no longer contactable.

2004-05-02 13:20  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: added warning message if
	  tvtoday.de doesn't supply data, don't just die.

	  advise user to reconfigure, if config-file names channel-ids that
	  aren't served by tvtoday.de (anymore)

2004-05-02 13:17  stesie

	* grab/de_tvtoday/channel_ids: adjust to new channel-names used by
	  tvtoday.de

2004-05-02 11:32  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: don't use backslash on windows, not
	  valid XML

2004-05-02 06:19  epaepa

	* grab/na/: ZapListings.pm, tv_grab_na: Fully removing tv_grab_na.
	  Of course, the full history of the files is still available
	  through CVS.

2004-05-01 18:07  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: add file:: to icon URI when needed.
	  Also use backslash on windows path.

2004-05-01 11:28  rmeden

	* MANIFEST, Makefile.PL, README, doc/README.win32: remove
	  tv_grab_na from distribution

2004-04-29 20:14  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: minor bug fix

2004-04-29 20:13  rmeden

	* grab/na_icons/tv_grab_na_icons.IN: remove debug code..

2004-04-28 17:53  rmeden

	* MANIFEST: fix filenames to match case fo _na_icon, _na_dd changes

2004-04-28 17:50  rmeden

	* grab/na_dd/tv_grab_na_dd.PL: add proxy support

2004-04-28 14:57  epaepa

	* lib/XMLTV.pm.in: When stripping whitespace from with-lang
	  strings, print the original string for easier debugging.

2004-04-28 14:45  epaepa

	* grab/hu/tv_grab_hu: Remove 'Kb.' from the front of times, as
	  pointed out by Gabor Ziegler.

2004-04-28 14:18  epaepa

	* grab/no/tv_grab_no: Fixed for minor changes on the site.  Try to
	  vaguely work with the old format as well, just in case.

2004-04-28 13:45  epaepa

	* grab/pt/tv_grab_pt: Fail cleanly on 'temporarily unavailable'
	  error.

2004-04-27 14:04  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: ignore digital-tv caption
	  within html channel list.

2004-04-27 13:32  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Updated the grabber to
	  support the slightly changed php pages of tvtoday.de.  Since the
	  change came along with a lot of added channels (especially
	  Premiere digital ones) it seems they didn't block us with intent.

2004-04-27 10:13  rmeden

	* grab/na_dd/tv_grab_na_dd.IN: stupid!	I could have sword I tested
	  the code before checking in!

2004-04-26 20:27  rmeden

	* README, doc/README.win32: include info on tv_grab_na_icons

2004-04-26 20:16  rmeden

	* grab/: na_dd/tv_grab_na_dd.IN, na_icons/tv_grab_na_icons.IN: add
	  proxy support

2004-04-25 17:13  rmeden

	* MANIFEST: change tv_grab_na_dd to use --share add
	  tv_grab_na_icons

2004-04-25 17:11  rmeden

	* Makefile.PL, grab/na_dd/tv_grab_na_dd.IN: change tv_grab_na_dd to
	  use --share, and include icons

2004-04-25 17:10  rmeden

	* grab/na_dd/tv_grab_na_dd: tv_grab_na_dd is now tv_grab_na_dd.in
	  (for --share processing)

2004-04-25 17:02  rmeden

	* grab/na_icons/tv_grab_na_icons.IN: simplify --share handling

2004-04-25 17:01  rmeden

	* lib/exe_wrap.pl: tv_grab_na_dd and na_icon --share support

2004-04-25 00:17  rmeden

	* Makefile.PL, grab/na_icons/tv_grab_na_icons.IN,
	  grab/na_icons/tv_grab_na_icons.PL: initial load of
	  tv_grab_na_icons

2004-04-23 12:52  rmeden

	* choose/tv_check/tv_check: use  <originalAirDate> to mark as
	  repeats episodes > 30 days old improved myreplaytv debug handling

2004-04-23 12:50  rmeden

	* grab/na_dd/tv_grab_na_dd: add <originalAirDate> to --low-mem

2004-04-22 16:29  rmeden

	* grab/na_dd/tv_grab_na_dd: don't use <OriginalAirDate> for <date>
	  when Episode info not known

2004-04-21 09:36  rmeden

	* grab/na_dd/tv_grab_na_dd: ignore empty config file during
	  --configure

2004-04-21 01:35  rmeden

	* grab/na_dd/tv_grab_na_dd: add extra --configure question trying
	  to talk someone out of local channel filtering

2004-04-21 01:11  rmeden

	* grab/na_dd/tv_grab_na_dd: don't give line number if number of
	  days is negative

2004-04-21 01:04  rmeden

	* lib/exe_wrap.pl: put error messages back after change to use "do"

2004-04-20 00:32  rmeden

	* grab/na_dd/tv_grab_na_dd: doc fix to resolve equal sign separator

2004-04-18 04:55  epaepa

	* Makefile.PL: Whoops, forgot to re-add tv_grab_fr to Makefile.PL.

2004-04-16 14:21  epaepa

	* grab/na_dd/tv_grab_na_dd: Bail out early if SOAP download gives
	  empty result (part of fixing warnings seen in Sourceforge bug
	  #935843).

2004-04-16 14:19  epaepa

	* grab/na_dd/tv_grab_na_dd: Check that we get the schema version
	  (part of fixing warnings seen in Sourceforge bug #935843).

2004-04-16 14:13  epaepa

	* grab/na_dd/tv_grab_na_dd: Fixed uninitialized value warning (part
	  of Sourceforge bug #935843).

2004-04-16 13:50  epaepa

	* xmltv.dtd: Make it clear tat empty text elements are usually
	  meaningless.

2004-04-16 09:59  rmeden

	* grab/na_dd/tv_grab_na_dd: fix dd_progid to be consistent with
	  other episide-num formats

2004-04-15 14:06  mattiasholmlund

	* grab/se/tv_grab_se: Adapt to the new XMLTV::DST. Patch by Andrey
	  Nauman. Fix url-tags when there were several urls for a single
	  programme.

2004-04-14 17:11  rmeden

	* grab/na_dd/tv_grab_na_dd: use OriginalAirDate to populate <DATE>
	  unless copyright <YEAR> is specified.

2004-04-14 11:57  mattiasholmlund

	* grab/se/tv_grab_se: Add support for Viasats subscription-based
	  channels (TV1000, Cinema, Sport, Nature/Action, Explorer). This
	  includes channels in Norwegian, Finnish and Danish as well as the
	  Swedish channels. Based on patch from Andrey Nauman.

2004-04-13 17:20  epaepa

	* Makefile.PL, README, doc/README.win32, grab/DST.pm,
	  grab/se/tv_grab_se, lib/exe_wrap.pl: Version 0.5.32.

2004-04-13 17:06  epaepa

	* grab/pt/tv_grab_pt: Trim whitespace from channel display-names.

2004-04-10 23:35  rmeden

	* grab/na_dd/tv_grab_na_dd: oops.. fix timezone default

2004-04-10 23:27  rmeden

	* grab/na_dd/tv_grab_na_dd: move --tz-offset to the config file
	  (also don't stress UTC default)

2004-04-10 17:13  epaepa

	* grab/DST.pm: Support US and Canadian conventions by setting
	  $XMLTV::DST::Mode = 'na'.

2004-04-10 17:12  epaepa

	* grab/na_dd/tv_grab_na_dd: Undoing accidental checkin of this
	  file.

2004-04-10 17:09  epaepa

	* grab/DST.pm, grab/na_dd/tv_grab_na_dd, t/test_dst.t: Renamed
	  XMLTV::Europe_TZ to XMLTV::DST and made subroutine names less
	  Europe-specific.

2004-04-10 17:00  epaepa

	* MANIFEST, Makefile.PL, grab/Europe_TZ.pm, grab/de/tv_grab_de,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/es_digital/tv_grab_es_digital,
	  grab/fi/tv_grab_fi, grab/fr/tv_grab_fr, grab/hu/tv_grab_hu,
	  grab/it/tv_grab_it.in, grab/nl/tv_grab_nl.in, grab/no/tv_grab_no,
	  grab/pt/tv_grab_pt, grab/se/tv_grab_se,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/TZ.pm, t/test_europe_tz.t:
	  Renamed XMLTV::Europe_TZ to XMLTV::DST and made subroutine names
	  less Europe-specific.

2004-04-09 11:26  rmeden

	* grab/na_dd/tv_grab_na_dd: fix typo in documentation

2004-04-07 20:25  rmeden

	* lib/exe_wrap.pl: use "do" instead of "require" so scripts don't
	  need to return true value.

2004-04-06 01:36  rmeden

	* lib/exe_wrap.pl: return a 0 ERRORLEVEL should the script return
	  control to exe_wrap. An error code is still reported should
	  something "DIE".

2004-04-05 14:36  epaepa

	* Makefile.PL: Continue even if prereqs missing so that CPAN shell
	  doesn't get upset.

2004-04-05 14:17  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fixed timezone wobblies by always
	  converting with utc_offset() after a calculation.  Should
	  probably refactor this.

2004-04-05 12:47  epaepa

	* grab/Europe_TZ.pm: parse_eur_date(): allow UTC as the timezone
	  passed in.

2004-04-04 03:31  epaepa

	* lib/AskTerm.pm: askQuestion(): fixed default in long mode
	  (Sourceforge bug #924538).

2004-04-03 23:22  rmeden

	* lib/exe_wrap.pl: backing out change again.  Script files are not
	  available for normal reading, so you can't use open

2004-04-03 22:41  rmeden

	* grab/na_dd/tv_grab_na_dd: oops.. forgot to say version dd_schema
	  1.3 is ok

2004-04-03 22:39  rmeden

	* grab/na_dd/tv_grab_na_dd: add XMLTV module version check add
	  support for --beta-data add warning if dd schema is updated use
	  dd schema 1.3 channel Ids (with migration help) add dd schema 1.3
	  fields to --list-lineups add dd schema 1.3
	  syndicatedEpisodeNumber field as episode-number type "onscreen"
	  die if we don't have a valid lineup only process a single element
	  of a twig (performance?)

2004-04-03 20:20  rmeden

	* lib/XMLTV.pm.in: prematurely bump version due to <episode-number>
	  incompatability and module checking

2004-04-03 13:48  rmeden

	* lib/exe_wrap.pl: corrected version to avoid problems with scripts
	  not returning true

2004-04-03 13:39  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: tvtoday.de homepage
	  actually doesn't allow to view program more than six days ahead,
	  however the grabber allowed to do so (using --force).  Turned off
	  this behaviour, since setting ztag=8 (as http get arg) returns
	  program for yesterday - allow the user to do "--offset -1"
	  instead.

2004-04-03 12:45  epaepa

	* grab/es/tv_grab_es: Take care not to pass undef to
	  write_programme().

2004-04-03 12:41  epaepa

	* lib/XMLTV.pm.in: Better error when undef passed to
	  write_programme().

2004-04-03 12:07  rmeden

	* lib/exe_wrap.pl: backing out change... screws up configure mode

2004-04-03 11:56  rmeden

	* grab/na_dd/tv_grab_na_dd: correct xmltv-ns tag for episode num
	  take --tz-offset into consideration when calculating start time

2004-04-03 09:27  epaepa

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Progress messages go to
	  stderr not stdout!

2004-04-03 06:29  epaepa

	* grab/na_dd/tv_grab_na_dd: Catch bad XML from zap2it (at least for
	  the first part of configuration).

2004-04-03 06:01  epaepa

	* lib/exe_wrap.pl: Don't use require() to run the executable, since
	  that needs the last statement to give a true value.  Just load
	  the code and eval it.

	  Also fixed exit status of this script so it is true for success.

2004-04-03 05:05  epaepa

	* lib/XMLTV.pm.in: Strip leading/trailing whitespace when writing
	  with-lang content.

2004-04-01 18:33  rmeden

	* grab/na_dd/tv_grab_na_dd: die if config file doesn't have a
	  lineup (usually old config version)

2004-03-31 14:06  epaepa

	* MANIFEST, doc/QuickStart, grab/fr/tv_grab_fr: It turns out
	  tv_grab_fr was not blocked by the upstream site; there was just a
	  technical problem, so I'm putting it back.  Sylvain F. can use
	  the new Get_nice stuff to change the way tv_grab_fr does http
	  gets.

2004-03-31 14:05  epaepa

	* lib/AskTerm.pm: If there is only one choice, don't bother asking,
	  just say.

2004-03-31 13:22  epaepa

	* xmltv.dtd, choose/tv_check/tv_check, filter/tv_extractinfo_en,
	  grab/dk/tv_grab_dk, grab/na_dd/tv_grab_na_dd,
	  grab/nl/tv_grab_nl.in, grab/no/tv_grab_no, lib/XMLTV.pm.in:
	  <episode-num> can now be repeated.  This is a
	  backwards-incompatible change for users of XMLTV.pm (it's now a
	  list reference) and anyone reading xmltv files.  However the new
	  files are a superset of the old ones, so it does not break
	  existing data.

2004-03-31 02:07  rmeden

	* choose/tv_check/tv_check: improve handling of multi-part episodes

2004-03-31 02:04  rmeden

	* grab/na_dd/tv_grab_na_dd: added --version to docs added
	  --download-only option added warning if DD schema changes added
	  show-id, episode-id to <episode-num> added advisories to
	  <ratings> added showType to <category> corrected multipart
	  episode handling corrected <length> handling

2004-03-30 14:54  epaepa

	* grab/nl/tv_grab_nl.in: Fix from Bas Hulsken to avoid crash when
	  Term::ProgressBar not used.

2004-03-30 14:41  epaepa

	* grab/Get_nice.pm: You can change the function used to fetch pages
	  by setting $get.  The default is still LWP::Simple::get().

2004-03-29 22:54  rmeden

	* grab/na_dd/tv_grab_na_dd: output timezone is now UTC unless a
	  --tz-offset switch is used

2004-03-28 10:17  epaepa

	* MANIFEST, Makefile.PL, doc/QuickStart, grab/fr/tv_grab_fr: Sadly
	  tv_grab_fr has been blocked by the upstream site.

2004-03-28 10:13  epaepa

	* todo/xmltv-0.6.dtd: Comment.

2004-03-28 10:12  epaepa

	* lib/AskTerm.pm: askQuestion(): Use default even in
	  numbered-multiple-choice mode.  This should fix Sourceforge bug
	  #924538 but I have not yet tested it.

2004-03-28 07:30  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Comment.

2004-03-27 17:10  rmeden

	* grab/na_dd/tv_grab_na_dd: better identify messsages received from
	  DD

2004-03-27 17:10  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: change credits
	  (generator-info-name) to XMLTV

2004-03-27 17:08  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: replace date-mismatch
	  assertion by a less strict warning and use the date provided by
	  tvtoday's webpages instead.

2004-03-27 01:09  rmeden

	* README, doc/README.win32: add notes about tv_grab_na_dd

2004-03-26 16:34  rmeden

	* grab/na_dd/tv_grab_na_dd: add a orig_id field to --list-lineups

2004-03-26 01:04  rmeden

	* grab/na_dd/tv_grab_na_dd: changes to work with XML::Twig 3.14's
	  Simplify method

2004-03-25 19:28  rmeden

	* grab/na_dd/tv_grab_na_dd: Add example for handling multiple
	  lineups

2004-03-25 18:54  rmeden

	* grab/na_dd/tv_grab_na_dd: make channel IDs RFC complient.  Add
	  separators to --list-lineups to make it easier to parse.

2004-03-25 12:10  epaepa

	* grab/se/tv_grab_se: Refactored language into constant LANG and
	  corrected it to 'sv' (Sourceforge bug #923061).

2004-03-25 10:55  rmeden

	* grab/na_dd/tv_grab_na_dd: Provide --list-lineups and procedure to
	  automate configuration

2004-03-25 03:36  rmeden

	* choose/tv_check/tv_check: Date::Manip no longer likes "TODAY",
	  using "NOW"

2004-03-25 02:54  rmeden

	* grab/na_dd/tv_grab_na_dd: fix bad pointer when using -old-chan-id

2004-03-24 23:07  rmeden

	* grab/na_dd/tv_grab_na_dd: add --list-channels switch

2004-03-24 22:55  rmeden

	* grab/na_dd/tv_grab_na_dd: major change to add channels to config
	  file compromise on password security

2004-03-24 11:09  epaepa

	* MANIFEST, Makefile.PL, doc/QuickStart, grab/pt/tv_grab_pt: Adding
	  Bruno Tavares's tv_grab_pt grabber for Portugal.

2004-03-24 10:12  rmeden

	* grab/na_dd/tv_grab_na_dd: change TV rating to TVCHIP to match
	  tv_grab_na In COLOUR change B&W to 0 so it causes boolean
	  comparision to fail fix length calcuation when runtime is known.

2004-03-24 09:00  epaepa

	* lib/exe_wrap.pl: tv_grab_jp and tv_grab_se are not included.

2004-03-23 10:57  epaepa

	* grab/na_dd/tv_grab_na_dd: Fixed error report when no 'id' in
	  station element.

2004-03-22 17:29  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart,
	  grab/no/tv_grab_no: Adding Christian Wattengard's tv_grab_no for
	  Norway.

2004-03-22 17:23  epaepa

	* MANIFEST: Removed tv_check.bat.

2004-03-22 17:07  epaepa

	* choose/tv_check/tv_check_doc.html: Updated example grabber names.

2004-03-22 17:06  epaepa

	* choose/tv_check/tv_check.bat: Removed because out of date.

2004-03-22 17:04  epaepa

	* choose/tv_check/README.tv_check: Use tv_grab_fi as the example,
	  and --output rather than --listings.	(I would prefer
	  redirection, but there may still be some problem with it on
	  WinDOS.)

2004-03-22 17:01  epaepa

	* filter/tv_imdb: Don't mention tv_grab_na by name, since its
	  replacement has a different name.

2004-03-22 16:58  epaepa

	* doc/QuickStart: Mention tv_grab_na_dd.  Use tv_grab_fi in
	  examples, it's a bit easier that way.

2004-03-22 14:34  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: Don't use regexp to find
	  categories from not understood information, if the grabbed
	  website explicitly names a category.

2004-03-22 11:25  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch from Ryan Dalzell to remove
	  javascript gunk from URLs.

2004-03-22 11:06  epaepa

	* grab/na_dd/tv_grab_na_dd: Better error reporting when the
	  <station> element has no 'id' attribute.

2004-03-22 10:56  epaepa

	* grab/na_dd/tv_grab_na_dd: Don't write 'date' attribute in <tv>
	  element.  If present, it measn the date of the listings at the
	  source, not the time of the grab.

2004-03-22 10:44  epaepa

	* grab/nl/tv_grab_nl.in: Handle 'Kenmerken' descriptions and
	  'Website'.

2004-03-21 22:17  rmeden

	* doc/README.win32: add 0.5.31 notes

2004-03-21 09:51  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.31.

2004-03-19 16:15  epaepa

	* grab/uk_rt/channel_ids: Channel updates from Ryan Dalzell.

2004-03-19 16:12  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch from Ryan Dalzell to not add
	  'Remind me by text' to programme descriptions.

2004-03-19 08:14  epaepa

	* grab/Europe_TZ.pm: Convert DST start and end dates into local
	  winter time before comparing against the local time string.

2004-03-19 07:39  epaepa

	* grab/na_dd/tv_grab_na_dd: generator-info-name="XMLTV", like the
	  other grabbers.

2004-03-19 07:35  epaepa

	* grab/na_dd/tv_grab_na_dd: Added --password-file to read DD
	  password from a file.

2004-03-19 06:33  epaepa

	* grab/na_dd/tv_grab_na_dd: Accidentally turned off reading
	  password from config file in earlier change.	It will go away
	  eventually, though.

2004-03-19 06:26  epaepa

	* grab/Europe_TZ.pm: Cope with impossible dates (during the one
	  hour skip from winter to summer time).  Assume they are winter
	  time.

2004-03-18 14:24  epaepa

	* grab/na_dd/tv_grab_na_dd: Don't store the password in the config
	  file - prompt for it when grabbing.

2004-03-18 12:03  epaepa

	* grab/na_dd/tv_grab_na_dd: Use undef rather than the empty string
	  as the unset value for various options, and test definedness
	  rather than truth.  This fixes a few bugs with the filename '0'
	  and so on.

	  Refactored credits handling and fixed a spelling mistake, so it
	  now does more roles.	Added a check for unknown roles so that
	  similar mistakes will be caught.

	  Small change to progress bar message.

2004-03-18 11:06  epaepa

	* grab/na_dd/tv_grab_na_dd: Titles and descriptions are not
	  necessarily in English.

2004-03-18 10:45  epaepa

	* grab/na_dd/tv_grab_na_dd: Catch '401 Unauthorized' from site.

2004-03-18 10:37  epaepa

	* grab/na_dd/tv_grab_na_dd: Use GNU long option style with words
	  separated by hyphen not underscore.  The underscore format is
	  still accepted.

2004-03-17 16:10  epaepa

	* t/test_tv_split.t: Added explicit close() to make sure the temp
	  directory can be cleaned up at exit (bug on Cygwin spotted by
	  Niel Markwick).

2004-03-17 13:36  epaepa

	* MANIFEST: Corrected filename.

2004-03-17 12:43  mattiasholmlund

	* grab/se/tv_grab_se: Detect filler for tv3. Fix urls for shows
	  from viasat.

2004-03-17 01:00  rmeden

	* choose/tv_check/tv_check: fix problems with the on-exit handler

2004-03-16 17:43  rmeden

	* lib/exe_opt.pl: fix underf warning when storing version number in
	  windows

2004-03-16 17:39  rmeden

	* lib/exe_wrap.pl: make list of valid commands easier to read

2004-03-15 16:26  rmeden

	* grab/na_dd/tv_grab_na_dd: add --dd_data, and --reprocess options.
	  add code to allow debugging of SOAP fetch

2004-03-15 12:48  mattiasholmlund

	* grab/se/tv_grab_se: Rewrite grabber for tv4.se to make it simpler
	  and remove filler-entries that signify that there is no programme

2004-03-13 13:15  rmeden

	* grab/na_dd/tv_grab_na_dd: replace certificate code tvRating is in
	  <schedule> not <program>

2004-03-12 15:37  mattiasholmlund

	* grab/se/tv_grab_se: Add urls to program descriptions for SVT and
	  TV4.	More robust handling of relative links.

2004-03-12 13:08  rmeden

	* grab/na_dd/tv_grab_na_dd: add workaround for non-unique lineup
	  names

2004-03-12 12:32  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: handle brackets within
	  show-titles correctly

2004-03-12 12:18  stesie

	* grab/de_tvtoday/tv_grab_de_tvtoday.in: fixed timezone problem
	  (mail by Mark Swanson, from 2004-03-08): global $today expected
	  to store current date in CE(S)T timezone, not local TZ

2004-03-12 10:50  rmeden

	* Makefile.PL: fix tv_grab_na_dd name

2004-03-12 10:43  rmeden

	* README: mention tv_grab_na_dd and XML::Twig 3.10

2004-03-11 18:58  rmeden

	* MANIFEST, Makefile.PL: add tv_grab_na_dd

2004-03-10 20:13  rmeden

	* grab/na_dd/tv_grab_na_dd: add minor channel numbers for digital
	  tv

2004-03-10 18:17  rmeden

	* grab/na_dd/tv_grab_na_dd: Initial commit of grabber to use
	  Zap2IT's Data Direct service

2004-03-07 16:18  epaepa

	* doc/README.win32: Corrected release note for 0.5.30-win32-2
	  build.

2004-03-07 09:02  epaepa

	* filter/tv_imdb: Removed obsolete todo item.

2004-03-06 07:06  epaepa

	* README: Updated signature line.

2004-03-06 07:04  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.30.

2004-03-06 06:43  epaepa

	* Makefile.PL, README: XML::Writer 0.4.6 is now required.

2004-03-06 06:35  epaepa

	* grab/es_digital/tv_grab_es_digital: If title not found, try using
	  description instead.

2004-03-06 06:26  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Use get_url() for channels pages
	  instead of calling get_nice() directly.

2004-03-02 16:00  epaepa

	* grab/na/tv_grab_na: Make sure the current time ($now) is set
	  before listing channels.  (Sourceforge bug #907289.)

2004-02-29 08:54  epaepa

	* grab/uk_rt/: channel_ids, tv_grab_uk_rt.in: Patch from Dan
	  Sheridan to add radio channels.

2004-02-25 23:28  komoriya

	* grab/jp/tv_grab_jp: fixed unexpected deletion of figures in wide
	  charactors.

2004-02-24 06:43  mattiasholmlund

	* grab/se/tv_grab_se: Include information on exit status in
	  documentation.

2004-02-23 15:55  epaepa

	* MANIFEST, Makefile.PL, doc/QuickStart, grab/fr/tv_grab_fr: Adding
	  Sylvain Fabre's tv_grab_fr grabber for France.

2004-02-23 15:30  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart,
	  grab/se/tv_grab_se: Adding Mattias Holmlund's tv_grab_se for
	  Sweden.

2004-02-23 15:13  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart,
	  grab/de_tvtoday/channel_ids,
	  grab/de_tvtoday/tv_grab_de_tvtoday.PL,
	  grab/de_tvtoday/tv_grab_de_tvtoday.in, lib/exe_wrap.pl: Adding
	  Stefan Siegl's tv_grab_de_tvtoday.

2004-02-23 14:58  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Comment.

2004-02-23 01:49  rmeden

	* choose/tv_check/tv_check: use parse_date in XMLTV::Date instead
	  of Date::Manip to improve error handling

2004-02-22 14:03  epaepa

	* lib/XMLTV.pm.in: The <language> contained inside <subtitles> is a
	  normal <language> element, so it can have a 'lang' attribute.
	  Call the with-lang handler to read and write it.

2004-02-22 13:59  epaepa

	* t/data/: test.xml, tv_cat_all_UTF8.expected,
	  tv_cat_test_xml.expected, tv_cat_test_xml_test_xml.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_test_xml.expected,
	  tv_extractinfo_en_test_xml_test_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_test_xml.expected,
	  tv_grep_a_test_xml_test_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_test_xml.expected,
	  tv_grep_category_g_or_title_h_test_xml_test_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_all_UTF8.expected,
	  tv_grep_channel_xyz_or_not_channel_b_test_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_test_xml_test_xml.expected,
	  tv_grep_eval_scalar_keys_5_all_UTF8.expected,
	  tv_grep_eval_scalar_keys_5_test_xml.expected,
	  tv_grep_eval_scalar_keys_5_test_xml_test_xml.expected,
	  tv_grep_not_channel_id_channel4_com_all_UTF8.expected,
	  tv_grep_not_channel_id_channel4_com_test_xml.expected,
	  tv_grep_not_channel_id_channel4_com_test_xml_test_xml.expected,
	  tv_grep_not_channel_name_d_all_UTF8.expected,
	  tv_grep_not_channel_name_d_test_xml.expected,
	  tv_grep_not_channel_name_d_test_xml_test_xml.expected,
	  tv_grep_on_before_200302161330_UTC_all_UTF8.expected,
	  tv_grep_on_before_200302161330_UTC_test_xml.expected,
	  tv_grep_on_before_200302161330_UTC_test_xml_test_xml.expected,
	  tv_remove_some_overlapping_all_UTF8.expected,
	  tv_remove_some_overlapping_test_xml.expected,
	  tv_remove_some_overlapping_test_xml_test_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_test_xml.expected,
	  tv_sort_by_channel_test_xml_test_xml.expected,
	  tv_sort_test_xml.expected, tv_sort_test_xml_test_xml.expected:
	  Test that <subtitles> can contain <language>.

2004-02-21 14:20  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart, doc/README.win32,
	  grab/jp/README.CATV, grab/jp/README.CATV.ja, grab/jp/tv_grab_jp:
	  Takeru Komoriya's tv_grab_jp for Japan.

2004-02-21 13:54  epaepa

	* MANIFEST: Added missing files.

2004-02-21 13:50  epaepa

	* t/test_europe_tz.t: Tiny test suite for XMLTV::Europe_TZ (one
	  person was having strange problems).

2004-02-21 13:47  epaepa

	* grab/Europe_TZ.pm: Comment.

2004-02-21 13:43  epaepa

	* choose/tv_check/.cvsignore: Removing .cvsignore file - not part
	  of the source code and not really needed.

2004-02-14 17:33  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.29.

2004-02-14 17:19  epaepa

	* grab/nl/channels: Changed names to match the site.

2004-02-14 17:10  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Removed debugging print.

2004-02-14 12:53  ramonroca

	* doc/QuickStart, doc/README.win32, grab/es/tv_grab_es: New grabber
	  for D+ (Spain)

2004-02-14 12:50  ramonroca

	* grab/es_digital/tv_grab_es_digital, Makefile.PL, README: New
	  grabber for D+ (Spain)

2004-02-14 06:53  ramonroca

	* grab/es/tv_grab_es, Makefile.PL: New grabber for D+ (Spain)

2004-02-12 17:56  rmeden

	* lib/exe_opt.pl: add some optional modules so the exe can find
	  them

2004-02-12 15:20  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Another patch from Niel Markwick:
	  fix the occasional title-parsing bug, and replace one while () {
	  shift; ... } with a foreach.	For the latter change I don't
	  understand why it worked at all before, but the new code seems
	  probably correct.

2004-02-11 16:04  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Skip zero-length files on the site.

2004-02-11 15:40  epaepa

	* README: HTML::Entities needed by tv_grab_uk_rt.

2004-02-11 15:39  epaepa

	* Makefile.PL: tv_grab_uk_rt now needs HTML::Entities (part of the
	  HTML::Parser package).

2004-02-11 15:34  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch mostly by Neil Markwick to
	  reduce the number of page fetches by remembering the last
	  programme seen on a channel and skipping ahead some hours if
	  possible.  Also to give a --limit-details range for restricting
	  the download of programme details (not all or nothing like
	  --slow), and clean up some bad characters in grabbing, and handle
	  multi-paragraph descriptions as one <desc> element.

2004-02-07 13:02  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch from Charles Brej (with one
	  change) to not grab redundant pages - those where the times have
	  already been seen in an earlier fetch.

2004-02-05 18:47  epaepa

	* lib/exe_wrap.pl: Chatter goes to stderr not stdout.

2004-02-03 16:44  epaepa

	* README: Storable is needed.

2004-02-03 16:39  epaepa

	* mkdist: Upse -P flag in checkout to prune empty directories.

2004-02-01 16:47  epaepa

	* README: Fixed date.

2004-02-01 16:46  epaepa

	* mkdist: Updated VERSION check to handle exe_wrap.pl (it works
	  this time).

2004-02-01 16:45  epaepa

	* lib/exe_wrap.pl: Moved version number into a more obvious place
	  so mkdist can check it.

2004-02-01 16:42  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in,
	  lib/exe_wrap.pl: Version 0.5.28.

2004-02-01 16:40  epaepa

	* MANIFEST: Added missing file.

2004-02-01 16:26  epaepa

	* grab/uk_rt/channel_ids: Added some more channels.

2004-02-01 16:07  epaepa

	* grab/uk_rt/channel_ids: Removed tv_grab_uk.

2004-02-01 15:38  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart, doc/README.win32,
	  grab/fi/tv_grab_fi, grab/hu/tv_grab_hu, grab/it/tv_grab_it.in,
	  grab/uk/README, grab/uk/channel_ids, grab/uk/tv_grab_uk.PL,
	  grab/uk/tv_grab_uk.in, grab/uk/xmltv_ananova.dtd,
	  grab/uk/channel_pkgs/Freeview, grab/uk/channel_pkgs/adult,
	  grab/uk/channel_pkgs/arts, grab/uk/channel_pkgs/asia,
	  grab/uk/channel_pkgs/children, grab/uk/channel_pkgs/classics,
	  grab/uk/channel_pkgs/comedy, grab/uk/channel_pkgs/entertainment,
	  grab/uk/channel_pkgs/factual, grab/uk/channel_pkgs/film,
	  grab/uk/channel_pkgs/gratis, grab/uk/channel_pkgs/ireland,
	  grab/uk/channel_pkgs/lifestyle, grab/uk/channel_pkgs/misc,
	  grab/uk/channel_pkgs/music, grab/uk/channel_pkgs/musicchoice,
	  grab/uk/channel_pkgs/national, grab/uk/channel_pkgs/news,
	  grab/uk/channel_pkgs/not_england, grab/uk/channel_pkgs/regional,
	  grab/uk/channel_pkgs/religion, grab/uk/channel_pkgs/scifi,
	  grab/uk/channel_pkgs/shop, grab/uk/channel_pkgs/sport,
	  grab/uk/channel_pkgs/travel, grab/uk/channel_pkgs/wales,
	  grab/uk/channel_pkgs/NTL/analogue,
	  grab/uk/channel_pkgs/NTL/analogue_ie,
	  grab/uk/channel_pkgs/NTL/digital/Base,
	  grab/uk/channel_pkgs/NTL/digital/Disney,
	  grab/uk/channel_pkgs/NTL/digital/Family,
	  grab/uk/channel_pkgs/NTL/digital/Sports,
	  grab/uk/channel_pkgs/NTL/digital/movies,
	  grab/uk/channel_pkgs/Sky/Family,
	  grab/uk/channel_pkgs/Sky/Movies_World,
	  grab/uk/channel_pkgs/Sky/Sports, grab/uk/channel_pkgs/Sky/Value,
	  grab/uk/channel_pkgs/Telewest/Essential,
	  grab/uk/channel_pkgs/Telewest/Supreme, grab/uk/test_configs/all,
	  grab/uk/test_configs/bbc1, grab/uk/test_configs/carlton,
	  grab/uk/test_configs/gratis, grab/uk/test_configs/gratis_radio,
	  grab/uk/test_configs/music_nickelodeon_e4,
	  grab/uk/test_configs/radio, grab/uk/test_configs/radio4,
	  grab/uk/test_configs/satellite, grab/uk/test_configs/tynetees,
	  grab/uk_rt/tv_grab_uk_rt.PL, lib/exe_wrap.pl: Removed tv_grab_uk.

2004-02-01 15:23  epaepa

	* Makefile.PL: Removed ' from regexp to avoid confusing Emacs
	  fontification.

2004-02-01 15:11  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Don't output duplicate programmes.

2004-02-01 15:07  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Made the previous-day check happen
	  for listings pages that aren't for midnight.	I don't fully
	  understand what is going on.

2004-02-01 14:06  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Correctly handle programmes on the
	  00:00 page which began late the previous day.

2004-02-01 12:49  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Changed domain name of source
	  website and made sure code uses $DOMAIN.

2004-02-01 06:46  epaepa

	* Makefile.PL: Skip over autosave and backup files in the
	  grab/uk/channel_pkgs/ directory.  This makes no difference to
	  users of the source tarball but avoids bizarre errors when
	  building from a working copy.

2004-01-30 16:16  rmeden

	* choose/tv_check/tv_check: fix new XML processing for LANG (which
	  no one really uses anyway)

2004-01-29 16:23  epaepa

	* lib/XMLTV.pm.in: Moved the <icon> handler into a new routine
	  read_icon(), which was being called to read icons inside ratings
	  even though it didn't exist.

2004-01-29 16:22  epaepa

	* t/data/: test.xml, tv_cat_all_UTF8.expected,
	  tv_cat_test_xml.expected, tv_cat_test_xml_test_xml.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_test_xml.expected,
	  tv_extractinfo_en_test_xml_test_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_test_xml.expected,
	  tv_grep_a_test_xml_test_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_test_xml.expected,
	  tv_grep_category_g_or_title_h_test_xml_test_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_all_UTF8.expected,
	  tv_grep_channel_xyz_or_not_channel_b_test_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_test_xml_test_xml.expected,
	  tv_grep_eval_scalar_keys_5_all_UTF8.expected,
	  tv_grep_eval_scalar_keys_5_test_xml.expected,
	  tv_grep_eval_scalar_keys_5_test_xml_test_xml.expected,
	  tv_grep_not_channel_id_channel4_com_all_UTF8.expected,
	  tv_grep_not_channel_id_channel4_com_test_xml.expected,
	  tv_grep_not_channel_id_channel4_com_test_xml_test_xml.expected,
	  tv_grep_not_channel_name_d_all_UTF8.expected,
	  tv_grep_not_channel_name_d_test_xml.expected,
	  tv_grep_not_channel_name_d_test_xml_test_xml.expected,
	  tv_grep_on_before_200302161330_UTC_all_UTF8.expected,
	  tv_grep_on_before_200302161330_UTC_test_xml.expected,
	  tv_grep_on_before_200302161330_UTC_test_xml_test_xml.expected,
	  tv_remove_some_overlapping_all_UTF8.expected,
	  tv_remove_some_overlapping_test_xml.expected,
	  tv_remove_some_overlapping_test_xml_test_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_test_xml.expected,
	  tv_sort_by_channel_test_xml_test_xml.expected,
	  tv_sort_test_xml.expected, tv_sort_test_xml_test_xml.expected:
	  Added icon to rating in test.xml example input.  This catches a
	  bug where rating icon support was not implemented in XMLTV.pm.

2004-01-29 16:05  epaepa

	* t/test_icon.t: Made into a proper test ('ok 1', at least when it
	  passes).  Fixed charset warning.

2004-01-26 10:25  rmeden

	* README: remove requirement for XML::Simple

2004-01-25 22:41  rmeden

	* Makefile.PL: TV_CHECK now uses XML::Twig and XML::Writer so
	  XML::Simple not needed

2004-01-25 22:41  rmeden

	* choose/tv_check/tv_check: replace XML::Simple with XML::Twig so
	  UTF-8 chacaters can be included in titles.  Also remove a
	  dependency.

2004-01-24 19:03  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Brown-paper-bag bug in previous
	  change.

2004-01-24 18:57  epaepa

	* t/test_icon.t: Test case for Sourceforge bug #876003.

2004-01-24 18:46  epaepa

	* lib/XMLTV.pm.in: Added missing write_icon(), fixing Sourceforge
	  bug #876003.

2004-01-24 18:43  epaepa

	* lib/AskTerm.pm: askQuestion(): recover properly when stdin cannot
	  be read, returning undef (in code for numbered list).

2004-01-24 18:40  epaepa

	* grab/Get_nice.pm: Applied Sourceforge patch #875950 from Niel
	  Markwick: have a delay between page fetches, but remember when
	  the last fetch was and sleep() only for the time necessary to
	  make up the delay.

2004-01-24 17:39  epaepa

	* grab/uk_rt/: channel_ids, tv_grab_uk_rt.in: Applied (with minor
	  tweaks) Sourceforge patch #877617 from Niel Markwick to get extra
	  channels from the site.  It turns out you only need supply a
	  couple of cookies, and the site doesn't care what their values
	  are.

	  Made the grabber fetch summary data by default, with a --slow
	  flag to enable the one-page-per-programme detailed grabbing.

	  Better behaviour if asking questions during configuration fails.

2004-01-20 15:57  epaepa

	* filter/tv_split, t/test_tv_split.t: If tv_split is splitting by
	  channel, then just one <channel> element should be written to
	  each output file.

2004-01-20 15:33  epaepa

	* t/test_tv_split.t: Fixed filename in error messages.

2004-01-20 15:06  epaepa

	* lib/IMDB.pm: closeMaybeGunzip(): even a plain close() segfaults
	  on some systems, so do nothing.

2004-01-12 22:38  jveldhuis

	* lib/IMDB.pm: updated estimates and now .info file is written in
	  sorted order

2004-01-10 05:47  jskov

	* grab/dk/tv_grab_dk: Lang is da for Danish

2004-01-07 15:07  epaepa

	* Makefile.PL: Avoid // at start of installation paths (Sourceforge
	  bug #872444).

2004-01-07 14:55  epaepa

	* grab/nl/tv_grab_nl.in: --share option takes a string, it is not a
	  flag.

2004-01-07 14:26  epaepa

	* Makefile.PL, lib/Date.pm: Patch from Debian (modified a bit) to
	  fix XMLTV::Date manual page.

2004-01-07 01:56  rmeden

	* lib/exe_opt.pl: add safe to ignore dependancy to  avoid warning
	  during PerlApp

2004-01-07 01:47  rmeden

	* choose/tv_check/tv_check: include year in date checks to avoid
	  end of year problems

2004-01-06 16:38  epaepa

	* grab/uk/: channel_ids, channel_pkgs/gratis, channel_pkgs/travel,
	  channel_pkgs/NTL/digital/Base: Reinstated 2.tvtravelshop.co.uk as
	  a transient channel.

2004-01-06 15:45  epaepa

	* filter/tv_sort, t/data/tv_sort_overlap_xml.expected_err: Made the
	  error output (overlap warning) repeatable by adding a 'sort' and
	  by removing a $Log::TraceMessages::On that caused warnings.

2004-01-06 15:42  epaepa

	* choose/tv_pick/tv_pick_cgi, lib/Clumps.pm: Commented out lone
	  mentions of $Log::TraceMessages::On which tend to cause warnings.

2004-01-06 15:15  epaepa

	* lib/exe_wrap.pl: Check for the mistake of running a command with
	  redirections from Windows's Run dialogue box instead of the
	  command prompt.

2004-01-06 14:53  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patch from Edward Wildgoose to
	  recognize the site's star ratings.

2004-01-05 16:52  epaepa

	* mkdist, lib/exe_wrap.pl: Support 'xmltv.exe --version'.  (mkdist
	  changes not yet tested.)

2004-01-04 13:04  epaepa

	* lib/XMLTV.pm.in: Moved the __WARN__ handler on writing down a
	  level to call_handlers_write() so that the warning message can
	  include the name of the subelement being written as well as the
	  big element ('programme' or whatever).  call_handlers_write() now
	  returns a success value which is checked before calling it again
	  with the real XML::Writer.

2004-01-04 08:17  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: Version
	  0.5.27.

2004-01-04 07:14  epaepa

	* Makefile.PL: Discard stderr when trying to run python - it might
	  not be installed.

2004-01-04 06:48  epaepa

	* lib/XMLTV.pm.in: 'require' rather than 'use' XMLTV::Date because
	  XMLTV.pm is loaded at build time and XMLTV::Date is not available
	  then.  (Sourceforge bug #870171.)

2004-01-04 06:33  epaepa

	* Makefile.PL: Suppress 'isn't numeric' warnings from MakeMaker
	  (Sourceforge bug #870170, but has been an annoyance for a while).

2004-01-03 17:44  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: Version
	  0.5.26.

2004-01-03 17:15  epaepa

	* MANIFEST: Added a missing file.

2004-01-03 16:55  epaepa

	* grab/it/tv_grab_it.in: Fixed --days and --offset.

2004-01-03 16:24  epaepa

	* grab/dk/tv_grab_dk: --offset was being counted twice.

2004-01-03 15:45  epaepa

	* grab/uk/: channel_ids, channel_pkgs/Freeview, channel_pkgs/asia,
	  channel_pkgs/gratis, channel_pkgs/shop, channel_pkgs/travel,
	  channel_pkgs/NTL/analogue, channel_pkgs/NTL/digital/Base,
	  channel_pkgs/Telewest/Essential, test_configs/gratis,
	  test_configs/gratis_radio: Two channels have disappeared from the
	  site.

2004-01-03 09:52  epaepa

	* Makefile.PL, Uninstall.pm, analyse_tvprefs/analyse_tvprefs,
	  choose/tv_pick/merge_tvprefs, filter/Grep.pm,
	  grab/Config_file.pm, grab/Europe_TZ.pm, grab/Get_nice.pm,
	  grab/Grab_XML.pm, grab/Memoize.pm, grab/Mode.pm,
	  grab/nz/tv_grab_nz.PL, grab/uk_rt/tv_grab_uk_rt.PL, lib/Ask.pm,
	  lib/AskTerm.pm, lib/AskTk.pm, lib/Clumps.pm, lib/Date.pm,
	  lib/Gunzip.pm, lib/Summarize.pm, lib/TZ.pm, lib/Usage.pm,
	  lib/XMLTV.pm.in, lib/set_share_dir.pl, t/add_time_info,
	  t/test_filters.t, t/test_library.t, t/test_tv_split.t: Made sure
	  every Perl source file has a CVS Id: thingy.

2004-01-03 09:37  epaepa

	* grab/uk/tv_grab_uk.in: Comment.

2004-01-03 09:35  epaepa

	* grab/nl/channels: Changed some channel names to match those on
	  the site.  I hope the rest are correct.

2004-01-03 07:14  epaepa

	* MANIFEST: Added a missing file.

2004-01-03 07:10  epaepa

	* t/test_filters.t: Comment.

2004-01-03 07:03  epaepa

	* doc/QuickStart: Updated the list of grabbers.

2004-01-03 06:57  epaepa

	* analyse_tvprefs/analyse_tvprefs: 'use warnings' instead of -w.

2004-01-03 06:52  epaepa

	* grab/Grab_XML.pm: Added __DIE__ handler to print URL.

2004-01-03 06:49  epaepa

	* grab/Get_nice.pm: Comment.

2004-01-03 06:46  epaepa

	* grab/Europe_TZ.pm: Improved error message.

2004-01-02 15:41  epaepa

	* grab/nl/tv_grab_nl.in: get_channels(): read the channel names
	  file.  The new boolean parameter says whether to read the site as
	  well and reconcile the two (more paranoia, but also more
	  downloading).

	  Call get_channels() to get channel details before grabbing as
	  well as for --configure and --list-channels.	--configure still
	  downloads the channel list from the site but --list-channels and
	  grabbing do not.  Changed the error about bad channel names to a
	  warning, since it can happen if the channels file has different
	  names from the site.

2004-01-02 15:07  epaepa

	* MANIFEST, Makefile.PL, grab/nl/channels, grab/nl/tv_grab_nl,
	  grab/nl/tv_grab_nl.PL, grab/nl/tv_grab_nl.in, lib/exe_wrap.pl:
	  Repackaged tv_grab_nl so it follows some of the other grabbers in
	  having a data file in share/ which it needs to load at run time.
	  tv_grab_nl is generated from tv_grab_nl.in by substituting in the
	  configured share/ path.

	  Now this new version doesn't _do_ anything different, and has no
	  code changes apart from setting the share/ directory and the
	  filename of the channels file, but because the source filename
	  has changed I'm committing now so that diffing will be simpler.

2004-01-02 14:34  epaepa

	* grab/nl/tv_grab_nl: Don't rely on channel names in the config
	  file: wait until we've read the listings pages (and so have got
	  channel names) before writing any <channel> elements.  The config
	  file no longer contains channel names, although old format files
	  are still accepted for now.

2004-01-02 14:27  epaepa

	* lib/XMLTV.pm.in: Made the writing handlers accept undef instead
	  of an XML::Writer, and take it as meaning don't write anything.
	  Then write_element_with_handlers() first calls all the handlers
	  with undef and makes sure there are no warnings before it writes
	  anything.  This makes it a bit harder to produce invalid output.

2004-01-02 13:59  epaepa

	* grab/nl/tv_grab_nl: Take note of the channel names on the site
	  and check them against what's in the config file.

2004-01-01 07:39  epaepa

	* grab/es/tv_grab_es: Include the channel number (the number from
	  the site, which is apparently the same as the button number on a
	  television) as an extra display-name.

2004-01-01 07:31  epaepa

	* mkdist, filter/tv_extractinfo_en, filter/tv_grep.in,
	  filter/tv_remove_some_overlapping, filter/tv_sort,
	  grab/Europe_TZ.pm, grab/Grab_XML.pm, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/fi/tv_grab_fi, grab/hu/tv_grab_hu,
	  grab/na/tv_grab_na, grab/nl/tv_grab_nl, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Clumps.pm, lib/Date.pm,
	  lib/TZ.pm, lib/XMLTV.pm.in: Changed most ParseDate() calls to
	  parse_date() instead.  Then a manual check of the return value is
	  not needed (though in cases where a bad date is acceptable the
	  parse_date() call must be wrapped in eval {}).  Also changed
	  parse_eur_date() and tz_to_num() to throw exceptions on error.

	  Where ParseDate() is called, the recommended way in the
	  Date::Manip docs to check for errors is to test the truth value
	  of what's returned.

2003-12-31 16:54  epaepa

	* Makefile.PL, grab/Europe_TZ.pm, grab/nl/tv_grab_nl,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Date.pm: New library XMLTV::Date
	  with a parse_date() wrapper for ParseDate() that makes a more
	  intelligent choice of year.  ParseDate() assumes the current year
	  if it's not given, which obviously causes problems when grabbing
	  listings across a year boundary.  parse_date() picks the closest
	  possibility to the current time.  It also throws an exception on
	  failure rather than returning the empty string.

	  Eventually I hope to replace all ParseDate() calls with this
	  function, but for now I just fixed Europe_TZ.pm (which gets
	  tv_grab_nl working again) and tv_grab_uk_rt.

2003-12-31 16:51  epaepa

	* t/test_filters.t: Set LANG=C for running tests; we can do this
	  with the latest Lingua::Preferred.

2003-12-31 16:50  epaepa

	* lib/AskTerm.pm: When presenting a numbered list of options,
	  accept typing the option string instead of the number.  (And made
	  the prompt shorter.)

2003-12-31 14:28  epaepa

	* Makefile.PL: Lingua::Preferred 0.2.4 now recommended (it accepts
	  LANG=C).

2003-12-31 14:13  epaepa

	* lib/IMDB.pm: Added a missing /i to compare titles
	  case-insensitively; this fixes the bug found by Karen Etheridge
	  where duplicate (modulo case) titles would be added.

2003-12-31 13:59  epaepa

	* grab/na/: ZapListings.pm, tv_grab_na: Parsing the Sourceforge
	  project page to get version number had stopped working, so
	  changed to use the Freshmeat XML project record instead.

2003-12-31 13:45  epaepa

	* grab/na/tv_grab_na: Accept the --cache option in configuration
	  mode too and pass it as CacheDir to ZapListings.pm.  Now it's
	  just up to ZapListings to use it...

2003-12-30 16:51  epaepa

	* grab/fi/tv_grab_fi: Recognize class 'kanava-klo-nyt' (used for
	  current programme) as well as 'kanava-klo'.  Pointed out by Riku
	  Voipo.

2003-12-30 16:15  epaepa

	* MANIFEST, grab/uk/channel_pkgs/NTL/analogue_ie: tv_grab_uk
	  channel package for NTL analogue cable TV in the Republic of
	  Ireland.

2003-12-29 16:21  epaepa

	* MANIFEST, grab/uk/channel_ids, grab/uk/channel_pkgs/adult,
	  grab/uk/channel_pkgs/ireland, grab/uk/channel_pkgs/scotland:
	  Fixed some errors and warnings in tv_grab_uk's channel ids; the
	  'scotland' package has disappeared since it contained only one
	  channel and that is no longer on the site.

	  Implemented Sourceforge feature request #858792 by adding more
	  channels to the 'ireland' package.  I've also set xmltv ids for
	  those Irish channels that lacked them.

2003-12-29 16:14  epaepa

	* grab/uk/tv_grab_uk.in: Earlier and more informative check of the
	  same Ananova channel mapped to two xmltv ids in the channel_ids
	  file.

2003-12-19 01:09  rmeden

	* Makefile.PL: correct min version for HTML::Parser (got confused
	  with XML::Parser)

2003-12-19 01:01  rmeden

	* filter/tv_imdb: expand on memory requirments in man page

2003-12-18 15:48  epaepa

	* lib/AskTerm.pm: match(): new routine factoring out selecting an
	  exact or substring match.

2003-12-18 15:44  epaepa

	* lib/AskTerm.pm: askQuestion(): if going to numbered prompting,
	  and any of the options happen to themselves be numbers in the
	  range, make sure they are at that question number.  Too confusing
	  to type '5' to enter option '6'.  The list of options is now
	  required to have no duplicates.

2003-12-14 15:52  epaepa

	* filter/tv_sort, t/data/tv_sort_overlap_xml.expected_err: Changed
	  tv_sort to complain less about overlapping programmes.  In
	  particular if two programmes start at the same time and one of
	  them is zero length, assume it just squeezes in before the other.
	  As a side effect, fixed some other minor bugs in reporting of
	  overlaps (I hope that tv_sort will now not report an overlap
	  unless it's certain there is one).  But this whole exercise has
	  proven I don't really understand the intended meaning of
	  zero-length programmes and intervals (many listings sources
	  generate zero-length programmes, and they seem to be of some
	  vague practical use, but I haven't really thought out the
	  implications).  Hopefully the new DTD (with explicit timeslots
	  replacing clumpidxes) will be a bit saner.

2003-12-14 14:12  epaepa

	* t/data/tv_sort_overlap_xml.expected_err: Catch bug in tv_sort
	  where it incorrectly reports about overlapping programmes because
	  it doesn't treat (start, stop) as a half-closed interval.

2003-12-14 14:09  epaepa

	* t/test_filters.t: Include tv_to_text, and running commands on
	  just overlap.xml, in the standard set of tests.

2003-12-14 14:08  epaepa

	* t/data/: overlap.xml, tv_cat_all_UTF8.expected,
	  tv_cat_overlap_xml.expected, tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_overlap_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_overlap_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_overlap_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_all_UTF8.expected,
	  tv_grep_channel_xyz_or_not_channel_b_overlap_xml.expected,
	  tv_grep_not_channel_id_channel4_com_all_UTF8.expected,
	  tv_grep_not_channel_id_channel4_com_overlap_xml.expected,
	  tv_grep_not_channel_name_d_all_UTF8.expected,
	  tv_grep_not_channel_name_d_overlap_xml.expected,
	  tv_grep_on_before_200302161330_UTC_all_UTF8.expected,
	  tv_grep_on_before_200302161330_UTC_overlap_xml.expected,
	  tv_remove_some_overlapping_all_UTF8.expected,
	  tv_remove_some_overlapping_overlap_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_overlap_xml.expected,
	  tv_sort_overlap_xml.expected, tv_to_latex_all_UTF8.expected,
	  tv_to_latex_overlap_xml.expected, tv_to_text_all_UTF8.expected,
	  tv_to_text_overlap_xml.expected: Additions to overlap.xml in aid
	  of catching a bug in tv_sort.

2003-12-14 13:56  epaepa

	* t/data/: tv_to_text_all_UTF8.expected,
	  tv_to_text_amp_xml.expected, tv_to_text_amp_xml_amp_xml.expected,
	  tv_to_text_amp_xml_clump_xml.expected,
	  tv_to_text_amp_xml_dups_xml.expected,
	  tv_to_text_amp_xml_empty_xml.expected,
	  tv_to_text_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_to_text_clump_xml_amp_xml.expected,
	  tv_to_text_dups_xml_amp_xml.expected,
	  tv_to_text_empty_xml_amp_xml.expected: Corrected expected output
	  for tv_to_text after previous 'TA' channel name change in an
	  input file.

2003-12-14 13:33  epaepa

	* filter/tv_remove_some_overlapping,
	  t/data/tv_remove_some_overlapping_all_UTF8.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_empty_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_intervals_xml.expected,
	  t/data/tv_remove_some_overlapping_sort1_xml.expected,
	  t/data/tv_remove_some_overlapping_sort2_xml.expected,
	  t/data/tv_remove_some_overlapping_sort_xml.expected:
	  tv_remove_some_overlapping: write output programmes in same order
	  as input, rather than writing uninteresting programmes as early
	  as possible.

2003-12-14 12:58  epaepa

	* filter/tv_remove_some_overlapping: Corrected manual page.

2003-12-14 12:45  epaepa

	* README, Makefile.PL: XML::Writer-0.4.1 is now required.  This
	  release can currently be found only in my CPAN author directory,
	  but I hope the same fix (for an annoying warning) can be included
	  in the official version eventually.

2003-12-14 06:11  epaepa

	* t/test_filters.t: If a 'foo.expected_err' file exists, check
	  stderr against it.

2003-12-14 05:50  epaepa

	* t/test_tv_split.t: Whitespace.

2003-12-14 05:48  epaepa

	* t/test_filters.t: Comment.

2003-12-14 04:44  epaepa

	* xmltv.dtd: ISO 3316 is 'assembly tools for screws and nuts'
	  apparently - no idea why I thought it specified language codes.
	  Anyway, we should use RFC 1766.

2003-12-10 16:37  epaepa

	* mkdist, grab/Get_nice.pm, grab/na/ZapListings.pm: Set User-Agent
	  to "xmltv/$XMLTV::VERSION".

2003-12-10 16:30  epaepa

	* grab/: Grab_XML.pm, Memoize.pm, de/tv_grab_de, dk/tv_grab_dk,
	  nl_wolf/tv_grab_nl_wolf, uk/tv_grab_uk.in,
	  uk_rt/tv_grab_uk_rt.in: Refactoring: use XMLTV::Get_nice instead
	  of LWP::Simple, with $Delay = 0 where appropriate.

2003-12-10 15:56  epaepa

	* grab/Get_nice.pm: Let the user change the default five seconds as
	  $Delay.

2003-12-09 01:46  rmeden

	* lib/exe_opt.pl: add perlio::gzip to trim list.  At least until we
	  upgrade EXE to Perl58

2003-12-09 01:45  rmeden

	* Makefile.PL: correct minimum version number of XML::Parser.  3.34
	  doesn't exist 2.34 is current.

2003-12-08 16:00  jskov

	* grab/dk/tv_grab_dk: subtitles fix (by Martin Moeller)

2003-12-07 17:28  epaepa

	* README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in, Makefile.PL: Version 0.5.25.

2003-12-07 17:08  epaepa

	* grab/dk/tv_grab_dk: Don't set sub-title to '1' on seeing (TH) in
	  listings.  But what does that flag mean?

2003-12-07 16:56  epaepa

	* grab/nz/tv_grab_nz.in: If gen_time fails to parse the start time,
	  do not write the programme.  (This doesn't seem to be happening
	  at the moment.)

2003-12-07 12:15  epaepa

	* Makefile.PL: HTML::Parser 3.34 is required for tv_grab_na because
	  it may fix the segfaults some people have seen.

2003-12-06 15:00  epaepa

	* grab/na/tv_grab_na: Tolerate leading and trailing whitespace in
	  configuration file lines.  If a bad line is found, include it in
	  the error message.

2003-12-06 11:29  epaepa

	* filter/tv_grep.in: Spelling.

2003-12-06 06:54  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart: Removed
	  tv_grab_sn.

2003-12-06 06:36  epaepa

	* grab/sn/tv_grab_sn: This grabber has been blocked by the upstream
	  site, so it no longer works.

2003-11-30 13:40  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.24.

2003-11-29 18:17  epaepa

	* lib/IMDB.pm: Realized why getstore() appeared to succeed without
	  generating a file - I was checking the return status wrongly.  It
	  returns an http status, not true/false.

	  If --download is given (in other words, we are starting from
	  scratch with no data files), create the IMDB directory if needed.

	  Added some vertical space to warning messages.

2003-11-29 16:44  epaepa

	* lib/IMDB.pm: Catch the case when LWP::Simple::getstore() reports
	  success but did not create the output file.

2003-11-29 12:28  jveldhuis

	* lib/IMDB.pm: default for star-ratings is to not replace added
	  stubs to control if 'date' field will get updated or not fixed
	  url field so it properly identifies duplicates.  fixed categories
	  where if any categories exists, nothing was added.

2003-11-29 07:33  epaepa

	* grab/Europe_TZ.pm: parse_eur_date(): more robust handling of bad
	  date passed in.

	  dst_dates(): now private to this module (it was not used anywhere
	  else), so die() instead of croak() on error.

2003-11-29 07:31  epaepa

	* grab/dk/tv_grab_dk: get_courteous(): call get_courteous_aux()
	  with a single scalar argument, to make extra sure of scalar
	  context.

	  tidy(): new routine, similar to that in many other grabbers, to
	  clean up illegal characters in the site's HTML.

	  More robust handling of dates.

2003-11-29 06:37  epaepa

	* lib/Gunzip.pm: zlib_gunzip_open(): check return value from tie.

2003-11-29 06:26  epaepa

	* README, lib/Gunzip.pm: XMLTV::Gunzip uses PerlIO::gzip, if
	  available, for reading .gz files - much faster than making a tied
	  filehandle from Compress::Zlib.

2003-11-29 05:41  epaepa

	* lib/IMDB.pm: Comment.

2003-11-29 05:40  epaepa

	* Makefile.PL: Require XML::Parsser 2.34 - see
	  <http://rt.cpan.org/NoAuth/Bug.html?id=4501>.

2003-11-28 21:04  jveldhuis

	* filter/tv_imdb: fixed help/usage message

2003-11-28 21:03  jveldhuis

	* lib/IMDB.pm: cosmetic message changes, added note about errors in
	  stage 7 are normal and unlink .offline file before stage7 sanity
	  checks

2003-11-28 16:54  jveldhuis

	* lib/IMDB.pm: pretty things up and manually track linecounts since
	  Gunzip.pm does not set \$.

2003-11-26 10:53  jveldhuis

	* lib/IMDB.pm: Found genres fail to parse bug in 0.5.23.

	  Turns out I had the header string in a regular expression with
	  the o flag so it was only getting compiled twice. This would have
	  been okay if the subroutine wasn't being used for both the Movies
	  list and the Genres list.

2003-11-22 14:42  epaepa

	* grab/sn/tv_grab_sn: Accept new HTML 'class' names from site -
	  thanks to everyone who pointed out the change.

2003-11-22 08:34  epaepa

	* Makefile.PL: Not all versions of pod2text take an input and
	  output filename, so use redirection.

2003-11-22 08:23  epaepa

	* Makefile.PL: Prompt about README.win32.

2003-11-22 08:22  epaepa

	* doc/README.win32: Updated release notes, mentioning tv_imdb
	  problems.

2003-11-19 17:40  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.23.

2003-11-19 17:31  epaepa

	* todo/TASKS.epa: Another todo item.

2003-11-19 17:28  epaepa

	* filter/tv_imdb: Respect --download flag no matter what
	  preparation stage is chosen.

2003-11-19 17:04  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Patches from Edward Wildgoose:
	  enable --output option (which seems to have worked all along);
	  more robust handling of categories; handle deaf-signed and
	  audio-described by adding to description; include URL in warning
	  message; deal more gracefully with pages that explicitly have no
	  programmes available.

2003-11-19 16:59  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Don't output (or warn about)
	  duplicate <sub-title>s.

2003-11-19 16:52  epaepa

	* grab/uk/: channel_ids, channel_pkgs/NTL/digital/movies,
	  channel_pkgs/Sky/Movies_World: The Sky movie channels have
	  reappeared under different numbers.

2003-11-19 16:47  epaepa

	* Makefile.PL: Fixed to work with older Getopt::Long versions.

2003-11-18 22:47  jveldhuis

	* lib/IMDB.pm: moved come FUTURE/BUG comments local to
	  alternativeTitles subroutine

2003-11-18 21:34  jveldhuis

	* grab/na/ZapListings.pm: slight change to zap2it site causing
	  failures

2003-11-18 11:28  jveldhuis

	* lib/IMDB.pm: added some version checking to fail nicer with
	  instructions

2003-11-18 02:14  jveldhuis

	* filter/tv_imdb: added star-ratings and genres to categories - now
	  has 7 stages

2003-11-18 02:13  jveldhuis

	* lib/IMDB.pm: added star-ratings and genres to the mix

2003-11-16 14:10  jveldhuis

	* lib/IMDB.pm: added bug description

2003-11-16 13:52  jveldhuis

	* lib/IMDB.pm: added more info to moviedb.info file - file
	  locations and sizes

2003-11-14 21:28  jveldhuis

	* lib/IMDB.pm: bug - directors and actors only updated if its
	  replacing or updating an existing list

2003-11-09 16:10  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.22.

2003-11-09 15:49  epaepa

	* grab/nz/tv_grab_nz.in: Remove carriage returns from output.

2003-11-09 15:16  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: get_url(): throw an exception if the
	  page cannot be downloaded rather than returning undef.  This
	  interacts better with memoization.

2003-11-09 13:55  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Remove BS characters if they appear
	  in downloaded HTML (Brian Collins reported this can sometimes
	  happen).

2003-11-08 13:37  epaepa

	* Makefile.PL: windows_dist: ported to work on Windows (I hope).

2003-11-08 10:43  epaepa

	* Makefile.PL: windows_dist: generate documentation directly with
	  pod2text, rather than from the installed man pages.

2003-11-08 10:23  epaepa

	* Makefile.PL: Fixed rather dangerous bug (well, a bug in
	  MakeMaker, made dangerous by this code) of rm -rf'ing
	  $(INSTALLBIN) - that directory may not have the same PREFIX as
	  other stuff.

2003-11-08 08:57  epaepa

	* grab/: es/tv_grab_es, fi/tv_grab_fi, hu/tv_grab_hu,
	  it/tv_grab_it.in, sn/tv_grab_sn: Give the 'base' timezone for
	  Europe_TZ as a numeric not named timezone.  This is (hopefully)
	  the last bit of work for Sourceforge bug/feature #834143.

2003-11-08 08:55  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Use numeric timezones.  Handle a few
	  more bits of description.

2003-11-08 08:54  epaepa

	* grab/uk/tv_grab_uk.in: Use numeric timezones; change the upstream
	  data with tz_to_num().

	  Removed ud(), which was never called.

2003-11-08 08:53  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Fix timezones from the upstream
	  data with tz_to_num().

2003-11-08 08:52  epaepa

	* grab/uk/: channel_ids, channel_pkgs/shop: Two channels that
	  disappeared have now reappeared: I've marked them as transient to
	  suppress warnings in future.

2003-11-08 08:51  epaepa

	* grab/Europe_TZ.pm: Comment.

2003-11-08 08:37  epaepa

	* grab/nz/tv_grab_nz.in: It can sometimes be useful to give a
	  negative offset, and it seems to work.

2003-11-08 08:01  epaepa

	* lib/TZ.pm: Work around bug in ParseDate()'s handling of numeric
	  timezones.  Added some trace code.

2003-11-07 15:08  epaepa

	* filter/tv_remove_some_overlapping: When a programme could be
	  removed because of partitioning, but isn't because we don't want
	  to throw away information, print a warning.

	  <url> is a boring subelement of <programme> and shouldn't stop
	  one being discarded.

2003-11-03 15:50  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.21.

2003-11-03 15:35  epaepa

	* doc/README.win32: Release notes for 0.5.20 Windows binary
	  distribution.

2003-11-03 15:24  epaepa

	* t/test_tv_split.t: Fixed to work with tv_split in blib/script/
	  rather than expecting it to be in the PATH.

2003-11-02 17:43  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.20.

2003-11-02 17:38  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Handle 'Deaf-signed' (well,
	  actually, discard it with a warning).

2003-11-02 17:37  epaepa

	* grab/uk/: channel_ids, channel_pkgs/film, channel_pkgs/gratis,
	  channel_pkgs/shop, channel_pkgs/sport, channel_pkgs/travel,
	  channel_pkgs/NTL/digital/movies, channel_pkgs/Sky/Movies_World:
	  Removed some channels which are no longer on the site.

2003-11-02 17:19  epaepa

	* grab/nz/tv_grab_nz.in: Fixed to work (again) with Python 1.5.
	  Handle series title included as what looks like a 'part'.

2003-11-02 17:18  epaepa

	* grab/hu/tv_grab_hu: Fixed crash when (for some reason I haven't
	  investigated) the result of $txt->content_list() contains plain
	  scalars.

2003-11-02 17:17  epaepa

	* MANIFEST: Adding test_remove_some_overlapping test files which I
	  committed earlier.

2003-11-02 12:35  jveldhuis

	* grab/na/ZapListings.pm: removed what we decided was a typo in the
	  Gujarati language at zap2it

2003-11-02 12:14  epaepa

	* grab/na/ZapListings.pm: Spelling.

2003-11-01 14:19  epaepa

	* t/data/: tv_to_latex_all_UTF8.expected,
	  tv_to_latex_amp_xml.expected,
	  tv_to_latex_amp_xml_amp_xml.expected,
	  tv_to_latex_amp_xml_clump_xml.expected,
	  tv_to_latex_amp_xml_dups_xml.expected,
	  tv_to_latex_amp_xml_empty_xml.expected,
	  tv_to_latex_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_to_latex_clump_xml_amp_xml.expected,
	  tv_to_latex_dups_xml_amp_xml.expected,
	  tv_to_latex_empty_xml_amp_xml.expected: Changed 'T & A' -> 'TA'
	  in LaTeX expected output.

2003-11-01 14:02  epaepa

	* MANIFEST, t/test_tv_split.t: Test suite for tv_split.

2003-11-01 13:41  epaepa

	* t/data/: amp.xml, tv_cat_all_UTF8.expected,
	  tv_cat_amp_xml.expected, tv_cat_amp_xml_amp_xml.expected,
	  tv_cat_amp_xml_clump_xml.expected,
	  tv_cat_amp_xml_dups_xml.expected,
	  tv_cat_amp_xml_empty_xml.expected,
	  tv_cat_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_cat_clump_xml_amp_xml.expected,
	  tv_cat_dups_xml_amp_xml.expected,
	  tv_cat_empty_xml_amp_xml.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_amp_xml.expected,
	  tv_extractinfo_en_amp_xml_amp_xml.expected,
	  tv_extractinfo_en_amp_xml_clump_xml.expected,
	  tv_extractinfo_en_amp_xml_dups_xml.expected,
	  tv_extractinfo_en_amp_xml_empty_xml.expected,
	  tv_extractinfo_en_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_extractinfo_en_clump_xml_amp_xml.expected,
	  tv_extractinfo_en_dups_xml_amp_xml.expected,
	  tv_extractinfo_en_empty_xml_amp_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_amp_xml.expected,
	  tv_grep_a_amp_xml_amp_xml.expected,
	  tv_grep_a_amp_xml_clump_xml.expected,
	  tv_grep_a_amp_xml_dups_xml.expected,
	  tv_grep_a_amp_xml_empty_xml.expected,
	  tv_grep_a_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_a_clump_xml_amp_xml.expected,
	  tv_grep_a_dups_xml_amp_xml.expected,
	  tv_grep_a_empty_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_all_UTF8.expected,
	  tv_grep_channel_xyz_or_not_channel_b_amp_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_amp_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_amp_xml_clump_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_amp_xml_dups_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_amp_xml_empty_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_clump_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_dups_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_not_channel_b_empty_xml_amp_xml.expected,
	  tv_grep_not_channel_id_channel4_com_all_UTF8.expected,
	  tv_grep_not_channel_id_channel4_com_amp_xml.expected,
	  tv_grep_not_channel_id_channel4_com_amp_xml_amp_xml.expected,
	  tv_grep_not_channel_id_channel4_com_amp_xml_clump_xml.expected,
	  tv_grep_not_channel_id_channel4_com_amp_xml_dups_xml.expected,
	  tv_grep_not_channel_id_channel4_com_amp_xml_empty_xml.expected,
	  tv_grep_not_channel_id_channel4_com_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_not_channel_id_channel4_com_clump_xml_amp_xml.expected,
	  tv_grep_not_channel_id_channel4_com_dups_xml_amp_xml.expected,
	  tv_grep_not_channel_id_channel4_com_empty_xml_amp_xml.expected,
	  tv_grep_not_channel_name_d_all_UTF8.expected,
	  tv_grep_not_channel_name_d_amp_xml.expected,
	  tv_grep_not_channel_name_d_amp_xml_amp_xml.expected,
	  tv_grep_not_channel_name_d_amp_xml_clump_xml.expected,
	  tv_grep_not_channel_name_d_amp_xml_dups_xml.expected,
	  tv_grep_not_channel_name_d_amp_xml_empty_xml.expected,
	  tv_grep_not_channel_name_d_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_not_channel_name_d_clump_xml_amp_xml.expected,
	  tv_grep_not_channel_name_d_dups_xml_amp_xml.expected,
	  tv_grep_not_channel_name_d_empty_xml_amp_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_all_UTF8.expected,
	  tv_grep_on_after_2002_02_05_UTC_amp_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_amp_xml_amp_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_amp_xml_clump_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_amp_xml_dups_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_amp_xml_empty_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_clump_xml_amp_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_dups_xml_amp_xml.expected,
	  tv_grep_on_after_2002_02_05_UTC_empty_xml_amp_xml.expected,
	  tv_grep_on_before_200302161330_UTC_all_UTF8.expected,
	  tv_grep_on_before_200302161330_UTC_amp_xml.expected,
	  tv_grep_on_before_200302161330_UTC_amp_xml_amp_xml.expected,
	  tv_grep_on_before_200302161330_UTC_amp_xml_clump_xml.expected,
	  tv_grep_on_before_200302161330_UTC_amp_xml_dups_xml.expected,
	  tv_grep_on_before_200302161330_UTC_amp_xml_empty_xml.expected,
	  tv_grep_on_before_200302161330_UTC_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_on_before_200302161330_UTC_clump_xml_amp_xml.expected,
	  tv_grep_on_before_200302161330_UTC_dups_xml_amp_xml.expected,
	  tv_grep_on_before_200302161330_UTC_empty_xml_amp_xml.expected,
	  tv_remove_some_overlapping_all_UTF8.expected,
	  tv_remove_some_overlapping_amp_xml.expected,
	  tv_remove_some_overlapping_amp_xml_amp_xml.expected,
	  tv_remove_some_overlapping_amp_xml_clump_xml.expected,
	  tv_remove_some_overlapping_amp_xml_dups_xml.expected,
	  tv_remove_some_overlapping_amp_xml_empty_xml.expected,
	  tv_remove_some_overlapping_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_remove_some_overlapping_clump_xml_amp_xml.expected,
	  tv_remove_some_overlapping_dups_xml_amp_xml.expected,
	  tv_remove_some_overlapping_empty_xml_amp_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_amp_xml.expected,
	  tv_sort_amp_xml_amp_xml.expected,
	  tv_sort_amp_xml_clump_xml.expected,
	  tv_sort_amp_xml_dups_xml.expected,
	  tv_sort_amp_xml_empty_xml.expected,
	  tv_sort_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_amp_xml.expected,
	  tv_sort_by_channel_amp_xml_amp_xml.expected,
	  tv_sort_by_channel_amp_xml_clump_xml.expected,
	  tv_sort_by_channel_amp_xml_dups_xml.expected,
	  tv_sort_by_channel_amp_xml_empty_xml.expected,
	  tv_sort_by_channel_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_sort_by_channel_clump_xml_amp_xml.expected,
	  tv_sort_by_channel_dups_xml_amp_xml.expected,
	  tv_sort_by_channel_empty_xml_amp_xml.expected,
	  tv_sort_clump_xml_amp_xml.expected,
	  tv_sort_dups_xml_amp_xml.expected,
	  tv_sort_empty_xml_amp_xml.expected: Changed channel name 'T & A'
	  to 'TA'.  The former is not a valid RFC2838 identifier and so I'm
	  not particularly concerned to test with it, but it does make
	  testing tv_split awkward.

2003-11-01 13:34  epaepa

	* t/data/test_remove_some_overlapping.xml: Adding this file - some
	  test cases for tv_remove_some_overlapping - which got
	  accidentally left out of CVS earlier.

2003-11-01 11:49  epaepa

	* Makefile.PL: Indentation.

2003-11-01 10:01  epaepa

	* grab/na/tv_grab_na: Explicitly bracket say($msg) to avoid it
	  being miscompiled as $msg->say() on some perls.

2003-11-01 09:45  epaepa

	* grab/na/tv_grab_na: Fixed $opt_configure warning.

2003-11-01 09:37  epaepa

	* grab/Europe_TZ.pm: parse_eur_date(): Fixed winter time when base
	  timezone not UTC.

2003-11-01 09:36  epaepa

	* grab/fi/tv_grab_fi: Logging.

2003-11-01 08:37  epaepa

	* grab/na/ZapListings.pm: No 'comments' inside qw() list.

2003-11-01 08:04  epaepa

	* grab/na/tv_grab_na: Make sure an undef value is never passed to
	  say() (attempt to catch Sourceforge bug \833976).

2003-10-28 19:12  jveldhuis

	* grab/na/ZapListings.pm: added some more languages - thanks
	  J.Isham

2003-10-26 15:21  jveldhuis

	* grab/na/: ZapListings.pm, tv_grab_na: added/fixed cache option

2003-10-26 15:19  jveldhuis

	* lib/AskTerm.pm: make sure we don't end up with two newlines in
	  say() calls

2003-10-26 13:47  epaepa

	* grab/sn/tv_grab_sn: Another character mapping.

2003-10-26 12:21  epaepa

	* grab/sn/tv_grab_sn: Entity 8211 surrounded by spaces is used for
	  dash (spotted by Eirik Meland).

2003-10-25 10:43  epaepa

	* grab/na/tv_grab_na: Accept the --cache option to create a
	  urldata/ directory.

2003-10-25 09:22  epaepa

	* MANIFEST, Makefile.PL, filter/tv_remove_some_overlapping,
	  t/test_filters.t, t/data/tv_cat_all_UTF8.expected,
	  t/data/tv_cat_test_remove_some_overlapping_xml.expected,
	  t/data/tv_extractinfo_en_all_UTF8.expected,
	  t/data/tv_extractinfo_en_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_a_all_UTF8.expected,
	  t/data/tv_grep_a_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_category_b_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_channel_name_d_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_channel_xyz_or_channel_b_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_all_UTF8.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_i_last_chance_c_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_new_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_all_UTF8.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_not_channel_name_d_all_UTF8.expected,
	  t/data/tv_grep_not_channel_name_d_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_UTC_all_UTF8.expected,
	  t/data/tv_grep_on_after_2002_02_05_UTC_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_on_after_200302161330_UTC_all_UTF8.expected,
	  t/data/tv_grep_on_after_200302161330_UTC_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_on_before_200302161330_UTC_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_premiere_test_remove_some_overlapping_xml.expected,
	  t/data/tv_grep_previously_shown_test_remove_some_overlapping_xml.expected,
	  t/data/tv_remove_some_overlapping_all_UTF8.expected,
	  t/data/tv_remove_some_overlapping_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_attrs_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_extract_1_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_extract_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_clump_xml_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_dups_xml_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_empty_xml_amp_xml.expected,
	  t/data/tv_remove_some_overlapping_empty_xml_clump_xml.expected,
	  t/data/tv_remove_some_overlapping_empty_xml_dups_xml.expected,
	  t/data/tv_remove_some_overlapping_empty_xml_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_intervals_xml.expected,
	  t/data/tv_remove_some_overlapping_length_xml.expected,
	  t/data/tv_remove_some_overlapping_overlap_xml.expected,
	  t/data/tv_remove_some_overlapping_simple_xml.expected,
	  t/data/tv_remove_some_overlapping_simple_xml_x_whatever_xml.expected,
	  t/data/tv_remove_some_overlapping_sort1_xml.expected,
	  t/data/tv_remove_some_overlapping_sort2_xml.expected,
	  t/data/tv_remove_some_overlapping_sort_xml.expected,
	  t/data/tv_remove_some_overlapping_test_empty_xml.expected,
	  t/data/tv_remove_some_overlapping_test_livre_xml.expected,
	  t/data/tv_remove_some_overlapping_test_remove_some_overlapping_xml.expected,
	  t/data/tv_remove_some_overlapping_test_sort_by_channel_xml.expected,
	  t/data/tv_remove_some_overlapping_test_xml.expected,
	  t/data/tv_remove_some_overlapping_test_xml_test_xml.expected,
	  t/data/tv_remove_some_overlapping_whitespace_xml.expected,
	  t/data/tv_remove_some_overlapping_x_whatever_xml.expected,
	  t/data/tv_sort_all_UTF8.expected,
	  t/data/tv_sort_by_channel_all_UTF8.expected,
	  t/data/tv_sort_by_channel_test_remove_some_overlapping_xml.expected,
	  t/data/tv_sort_test_remove_some_overlapping_xml.expected,
	  t/data/tv_to_latex_all_UTF8.expected,
	  t/data/tv_to_latex_test_remove_some_overlapping_xml.expected,
	  t/data/tv_to_text_all_UTF8.expected,
	  t/data/tv_to_text_test_remove_some_overlapping_xml.expected: New
	  filter program tv_remove_some_overlapping to get rid of
	  'magazine' programmes whose only purpose is to contain (ie,
	  overlap with) several others.

2003-10-25 06:55  epaepa

	* lib/XMLTV.pm.in: write_programme(): don't delete every element in
	  the caller's hash.

2003-10-25 06:51  epaepa

	* MANIFEST, t/test_library.t: Catch bug in
	  XMLTV::Writer::write_programme() where it deletes the contents of
	  the passed-in hash.

2003-10-25 04:59  epaepa

	* filter/tv_cat: Data::Dumper is not used.

2003-10-17 14:50  epaepa

	* todo/xmltv-0.6.dtd: It's possible for display-name of a channel
	  to include number and call sign, even though those have their own
	  elements.

2003-10-15 16:23  epaepa

	* grab/uk/channel_pkgs/adult: Split 40-plus-wives.redhottv.co.uk
	  into two channels for the two numbers it hops between.

2003-10-14 14:09  epaepa

	* grab/uk/channel_ids: Stopped warnings about one channel that
	  keeps changing between two numbers on the site.

2003-10-14 02:05  jveldhuis

	* lib/IMDB.pm: fixed broken tv series keys.

2003-10-14 01:41  jveldhuis

	* lib/IMDB.pm: db version now at 0.3 which will require a
	  --prepStage 3 and --prepStage 5 to be re-run. Indexes fixed to
	  preserve original database key for titles so urls can be more
	  exact.

	  if stage5 fails, database is now offline and says so when tv_imdb
	  is run in a non-prep mode later.

	  stage 3 now tracks narrators and hosts and puts them in output
	  credits as commentator and presenter.

	  added control over what elements are updated and replaced, but
	  haven't added support in tv_imdb to set/get these. New defaults,
	  to not replace title, but prepend imdb version, same for urls,
	  default to replacing directors, presenters and commentators but
	  only prepend actors to the list and preserve others.

	  Category entries now include lang=en.

	  URLs fixed to use http://us.imdb.com/M/title-exact cgi at
	  imdb.com so the urls get us directly to the movie page on imdb
	  instead of possibly a list of matches.

2003-10-13 14:57  epaepa

	* t/test_filters.t: Set $ENV{LANG} to 'en' before running tests.
	  Kenneth Pronovici discovered (from a Debian bug report) that
	  tv_to_latex's behaviour and therefore its test suite is affected
	  by language.

2003-10-13 14:25  epaepa

	* Makefile.PL: Corrected share directory stored in installed files.
	  It should not include $(DESTDIR).

2003-10-12 12:49  epaepa

	* Makefile.PL: When pasting in bits of Makefile, respect $(DESTDIR)
	  as well as $(PREFIX).  The Perl variable $location holds a
	  fragment of Makefile concatenating those two directories.
	  (Sourceforge bug #82002)

	  Disabled tv_grab_de (I thought this change was committed before).

2003-10-12 12:35  epaepa

	* todo/xmltv-0.6.dtd: Added audio-described, kinda the dual of
	  deaf-signed.

2003-10-12 11:17  epaepa

	* lib/XMLTV.pm.in: parse_callback(): Fixed prototype, as pointed
	  out by Christophe Beauregard.

2003-09-28 15:17  jveldhuis

	* mkdist: added compression to cvs commands

2003-09-28 15:16  jveldhuis

	* README: updated date line

2003-09-28 14:08  epaepa

	* grab/sn/tv_grab_sn: process_table(): refactoring: first put the
	  raw programme hashes into a list, then go through and replace
	  raw_start and raw_stop with real times, then remove zero-length
	  programmes and write.

2003-09-28 04:32  epaepa

	* README: Corrected description of tv_grab_de.

2003-09-27 14:06  jveldhuis

	* README: updated

2003-09-27 14:05  jveldhuis

	* grab/na/tv_grab_na: errorMessage() method was having @_ converted
	  to a scalar in the say() call. So error messages were getting
	  converted to '1'.

2003-09-27 13:21  jveldhuis

	* Makefile.PL, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: version number updated to 0.5.19

2003-09-27 13:20  jveldhuis

	* README: added release notes for 0.5.19 release

2003-09-27 12:54  jveldhuis

	* grab/na/ZapListings.pm: new manditory sleep(5) before retries

2003-09-27 12:53  jveldhuis

	* grab/na/tv_grab_na: new minimum of 2 second retry-delay enforced

2003-09-27 05:29  epaepa

	* grab/sn/tv_grab_sn: Don't write guessed stop times, write only
	  data that comes from the site.  The detection of midnight
	  crossing is now a bit more intelligent and fires only for
	  programmes within 15000 seconds either side of midnight, and in
	  any case only once per page.

	  This kind of thing really ought to be shared among grabbers.

2003-09-26 14:28  epaepa

	* grab/sn/tv_grab_sn: In any single page of listings, allow only
	  the first case of stop < start to be a crossing of midnight; in
	  later cases the dodgy stop time is discarded.

	  This hasn't made any difference to the output with my config, but
	  Oscar Carlsson found some cases where the grabber did wrongly
	  split listings over several days.

2003-09-25 17:21  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Add unknown bits of text to the
	  first description by default.  Improved (needlessly, it turns
	  out) the reporting of date mismatches.

2003-09-25 17:09  epaepa

	* grab/fi/tv_grab_fi: Remove a bad character (205) that's gotten
	  into the data.

2003-09-25 17:01  epaepa

	* grab/it/tv_grab_it.in: Warn if known-bad channels are mentioned
	  in the config file.

	  Fixed --days so that it it should work correctly with --offset.
	  (--days should always be the number of days downloaded, from
	  --offset onwards.)

	  Always warn if a downloaded page contains no programmes, and
	  always skip a whole channel if this happens for the first day.

2003-09-25 16:28  epaepa

	* grab/uk/: channel_ids, tv_grab_uk.in: Added a new field
	  'transient' to the channel_ids file, to suppress warnings for
	  certain channels which are known to appear and disappear on the
	  site.

2003-09-25 16:11  epaepa

	* grab/uk/tv_grab_uk.in: Cut down on the number of warnings for
	  channels in the config files but not on the site.

2003-09-14 12:43  epaepa

	* grab/nl/tv_grab_nl: Spelling.

2003-09-14 12:41  epaepa

	* grab/nl/tv_grab_nl: Handle a few more Dutch strings following
	  advice from Martijn Vernooij.

2003-09-14 10:27  epaepa

	* todo/xmltv-0.6.dtd: Added will-repeat, will-repeat-date and
	  will-repeat-channel to store partial information about when a
	  programme will be shown again.

2003-09-13 14:34  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.18.

2003-09-13 05:55  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Remove stop times which are before
	  the start time.

2003-09-13 05:29  epaepa

	* grab/hu/tv_grab_hu: Don't guess stop times based on the 'next'
	  programme on the site: these are often wrong and lead to nonsense
	  like programmes that stop before they start or overlap with other
	  programmes on the same channel.  If the site does not provide
	  stop times explicitly, it's better to omit them and let the user
	  add them with a tool like tv_sort if he wants guessed stop times.

2003-09-13 04:36  epaepa

	* grab/uk/: channel_ids, channel_pkgs/adult,
	  channel_pkgs/lifestyle, channel_pkgs/music,
	  channel_pkgs/regional, channel_pkgs/NTL/digital/Family,
	  channel_pkgs/Sky/Family: Added some new channels.

2003-09-13 04:32  epaepa

	* todo/xmltv-0.6.dtd: Added new <remark> element to store text
	  associated with a programme but not describing that programme -
	  for example, a recommendation not to miss some other show if you
	  liked this one.

2003-09-13 04:24  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fixed some progress messages:
	  they're not appropriate to display with say(), they should be
	  printed on stderr as before.	It would be better to have a single
	  progress bar, however.

	  Handle a few more random bits of text appearing in listings - but
	  these new ones are just added to the end of the programme
	  description.

2003-09-13 04:05  epaepa

	* grab/it/tv_grab_it.in: Make channel ids lowercase, like domain
	  names.

2003-09-13 04:03  epaepa

	* grab/it/tv_grab_it.in: Moved domain name guidatv.libero.it into
	  $domain.

2003-09-12 17:04  epaepa

	* grab/it/dud_channels: Updated for new channel ids
	  (guidatv.libero.it); added dud channel 102.5.

2003-09-12 16:24  epaepa

	* grab/it/tv_grab_it.in: Reformatted code in preparation for
	  patching.

2003-09-12 15:46  epaepa

	* grab/na/ZapListings.pm: Removed a line of chatter on stderr.

2003-09-11 00:43  rmeden

	* lib/exe_opt.pl: add some more excludes for bogus missing module
	  messages

2003-09-10 14:49  epaepa

	* lib/Ask.pm: Disable graphical config unless the XMLTV_TK
	  environment variable is set to a true value.

2003-09-09 14:54  epaepa

	* grab/na/ZapListings.pm: Following speculation on the mailing
	  list, use index() and substr() for manipulation of the
	  channel-list page rather than regular expressions in an attempt
	  to avoid a segfault.

	  index_bothcases(): wrapper for index() that tries the substring
	  in both lowercase and uppercase (though not all combinations of
	  the two).

2003-09-09 14:16  epaepa

	* grab/na/ZapListings.pm: Added some warnings in a couple of cases
	  where functions fail by returning a special value.

	  Check the result of a call to URI->new_abs() and to GET().

2003-09-09 13:33  epaepa

	* grab/na/ZapListings.pm: Form2Request(): reformatted code in
	  preparation for patching.

2003-09-08 15:22  epaepa

	* grab/na/ZapListings.pm: Fixed some seemingly-buggy code looking
	  for a case-insensitive substring.

	  More error checking: in particular make sure some
	  possibly-infinite loops do terminate, and fail earlier if a URL
	  request object cannot be made.

2003-09-08 15:03  epaepa

	* grab/na/ZapListings.pm: Changed all calls to main::errorMessage()
	  to use warn() instead.  This is because there's currently a
	  strange bug where errorMessage() was not printing anything, and
	  there are other more important bugs to fix first, so the first
	  priority is to get working error reporting.  Although I think
	  that in the long run warn() may prove to be more appropriate,
	  since many of the messages are technical and not something for
	  the end user.

	  getZipCodeForm(): added 'category' to the form settings, zap2it
	  seem to have started including it.

2003-09-07 06:58  epaepa

	* grab/na/tv_grab_na: Print a status message if we get the channel
	  list successfully (which we might not, given the current
	  segfault).

	  Fail more cleanly if askQuestion() for service provider returns
	  undef.  But really, it should throw an exception rather than
	  returning that.

2003-09-06 14:14  epaepa

	* grab/de/tv_grab_de: Added a warning that the grabber is currently
	  not working.

2003-08-29 16:16  epaepa

	* MANIFEST, filter/tv_grep.in, t/test_filters.t,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_all_UTF8.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_amp_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_amp_xml_amp_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_amp_xml_clump_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_amp_xml_dups_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_amp_xml_empty_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_attrs_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_extract_1_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_extract_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_xml_amp_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_xml_clump_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_xml_dups_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_clump_xml_empty_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_dups_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_dups_xml_amp_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_dups_xml_clump_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_dups_xml_dups_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_dups_xml_empty_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_empty_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_empty_xml_amp_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_empty_xml_clump_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_empty_xml_dups_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_empty_xml_empty_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_intervals_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_length_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_overlap_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_simple_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_simple_xml_x_whatever_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_sort1_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_sort2_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_sort_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_test_empty_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_test_livre_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_test_sort_by_channel_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_test_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_test_xml_test_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_whitespace_xml.expected,
	  t/data/tv_grep_channel_xyz_or_not_channel_b_x_whatever_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_all_UTF8.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_amp_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_amp_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_amp_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_amp_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_amp_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_attrs_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_extract_1_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_extract_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_clump_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_dups_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_dups_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_dups_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_dups_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_dups_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_empty_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_empty_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_empty_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_empty_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_empty_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_intervals_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_length_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_overlap_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_simple_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_simple_xml_x_whatever_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_sort1_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_sort2_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_sort_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_test_empty_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_test_livre_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_test_sort_by_channel_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_test_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_test_xml_test_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_whitespace_xml.expected,
	  t/data/tv_grep_not_channel_id_channel4_com_x_whatever_xml.expected,
	  t/data/tv_grep_not_channel_name_d_all_UTF8.expected,
	  t/data/tv_grep_not_channel_name_d_amp_xml.expected,
	  t/data/tv_grep_not_channel_name_d_amp_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_name_d_amp_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_name_d_amp_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_name_d_amp_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_name_d_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_name_d_attrs_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_extract_1_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_extract_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_name_d_clump_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_name_d_dups_xml.expected,
	  t/data/tv_grep_not_channel_name_d_dups_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_name_d_dups_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_name_d_dups_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_name_d_dups_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_name_d_empty_xml.expected,
	  t/data/tv_grep_not_channel_name_d_empty_xml_amp_xml.expected,
	  t/data/tv_grep_not_channel_name_d_empty_xml_clump_xml.expected,
	  t/data/tv_grep_not_channel_name_d_empty_xml_dups_xml.expected,
	  t/data/tv_grep_not_channel_name_d_empty_xml_empty_xml.expected,
	  t/data/tv_grep_not_channel_name_d_intervals_xml.expected,
	  t/data/tv_grep_not_channel_name_d_length_xml.expected,
	  t/data/tv_grep_not_channel_name_d_overlap_xml.expected,
	  t/data/tv_grep_not_channel_name_d_simple_xml.expected,
	  t/data/tv_grep_not_channel_name_d_simple_xml_x_whatever_xml.expected,
	  t/data/tv_grep_not_channel_name_d_sort1_xml.expected,
	  t/data/tv_grep_not_channel_name_d_sort2_xml.expected,
	  t/data/tv_grep_not_channel_name_d_sort_xml.expected,
	  t/data/tv_grep_not_channel_name_d_test_empty_xml.expected,
	  t/data/tv_grep_not_channel_name_d_test_livre_xml.expected,
	  t/data/tv_grep_not_channel_name_d_test_sort_by_channel_xml.expected,
	  t/data/tv_grep_not_channel_name_d_test_xml.expected,
	  t/data/tv_grep_not_channel_name_d_test_xml_test_xml.expected,
	  t/data/tv_grep_not_channel_name_d_whitespace_xml.expected,
	  t/data/tv_grep_not_channel_name_d_x_whatever_xml.expected: Added
	  --not option to tv_grep.  It negates the following predicate.
	  Not yet thoroughly tested.

2003-08-29 14:46  epaepa

	* grab/na/ZapListings.pm: Applying (in two places) Jerry V.'s patch
	  to print out a row that failed to parse and skip it.	It doesn't
	  fix the problem but doing this is a lot better than crashing.

2003-08-29 14:35  epaepa

	* grab/uk/tv_grab_uk.in: Removed spurious blank lines.

2003-08-29 14:05  epaepa

	* Makefile.PL: windows_dist no longer uses any Unix commands - only
	  commands that come with perl.

2003-08-28 15:56  epaepa

	* MANIFEST, Makefile.PL, grab/Config_file.pm, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/fi/tv_grab_fi, grab/hu/tv_grab_hu,
	  grab/it/tv_grab_it.in, grab/na/tv_grab_na, grab/nl/tv_grab_nl,
	  grab/sn/tv_grab_sn, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Ask.pm, lib/AskTerm.pm,
	  lib/AskTk.pm: Applying Andy Balaam's patch for Tk configuration
	  in environments that support it (with a few changes).

	  XMLTV::Ask now has two implementations, AskTerm and AskTk, and
	  chooses one based on whether Tk is usable.  The grabbers need to
	  use the XMLTV::Ask routines exclusively when they want to
	  communicate with the user; in particular this means the new say()
	  routine rather than print().

	  I haven't tested the Tk configuration half yet.

2003-08-28 14:46  epaepa

	* grab/nz/tv_grab_nz.in: Patch from James Sleeman to extract
	  episode titles, except for certain titles mentioned in the
	  episode_names file.

	  Also changed to turn 'Movie: ' into a category.

2003-08-26 16:03  epaepa

	* Makefile.PL: Version 0.5.17.

2003-08-26 16:00  epaepa

	* README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.17.

2003-08-26 15:40  epaepa

	* grab/nz/tv_grab_nz.in: Re-enabled tv_grab_nz as it seems to be
	  working again (though not perhaps 100% of the time).

2003-08-24 22:36  rmeden

	* choose/tv_check/: tv_check, tv_check_doc.html: add --bluenew
	  option to highlight non-repeat episodes

2003-08-17 10:10  epaepa

	* Makefile.PL, README: Reinstated tv_grab_nz, it is now working
	  again.

2003-08-17 09:01  epaepa

	* lib/Ask.pm: Reformatted @EXPORT with one word per line - this
	  makes it easier to diff and patch.

2003-08-17 04:31  epaepa

	* t/test_filters.t: When a command fails, report the arguments as
	  well.

2003-08-17 04:18  epaepa

	* lib/IMDB.pm: When files have been automatically downloaded, don't
	  then warn about them being missing.

2003-08-17 04:11  epaepa

	* lib/TZ.pm: Added trace messages; corrected comment.

2003-08-17 04:07  epaepa

	* grab/Config_file.pm: Give an error for seemingly empty config
	  files.

2003-08-17 04:06  epaepa

	* filter/tv_grep.in: More log messages.

2003-08-17 04:05  epaepa

	* mkdist: Remove .cvsignore files from the release as well as CVS/
	  directories.

2003-08-16 05:01  epaepa

	* grab/na/tv_grab_na: Updated documentation now that
	  --list-providers and --list-channels work standalone.

2003-08-16 04:55  epaepa

	* grab/na/tv_grab_na: --list-provders and --list-channels don't
	  require --configure to be given separately.

2003-08-16 04:22  epaepa

	* doc/README.win32: Updated for 0.5.16 release.  This file needs to
	  be self-contained because at the moment 'make windows_dist'
	  installs it as the README for the Windows distribution and leaves
	  out the source code README.  Maybe we can change this for a later
	  release.

2003-08-16 04:15  epaepa

	* Makefile.PL: Added --yes option to choose to install everything,
	  and --nodeps to write the Makefile even if dependencies are
	  missing.  These help with building the Windows distribution.

2003-08-14 16:14  epaepa

	* README: Whoops, forgot to update the signature line.

2003-08-14 16:11  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.15.

2003-08-14 16:00  epaepa

	* Makefile.PL, grab/nz/tv_grab_nz.in: Disabling tv_grab_nz since I
	  don't have time to fix it right now and we need a new release to
	  fix tv_grab_na.

2003-08-13 08:37  rmeden

	* doc/README.win32: updated README to include current windows tips

2003-08-13 01:17  rmeden

	* grab/na/ZapListings.pm: zap2it is returninga status code of 500
	  even though the listings are in the response. Dane Kanter has
	  released a patched ZapListings.PM which I am merging into the
	  current CVS here.  There is still a problem, only 20 channels are
	  return, but it's better than nothing.

2003-08-09 17:40  epaepa

	* xmltv.dtd: Corrected UT to UTC.

2003-08-05 10:34  jveldhuis

	* grab/na/: ZapListings.pm, tv_grab_na: --output now redirects
	  --list-providers and --list-channels output in --configure mode.

	  HDTV occuring in listing now appears at end of description (since
	  we don't have a proper place for it) and also triggers an aspect
	  ratio in the video stanza to be 16:9.

2003-08-04 17:17  jveldhuis

	* grab/na/ZapListings.pm: workaround for HDTV qualifiers getting in
	  the road of star ratings in the description

2003-07-31 15:24  epaepa

	* grab/uk/tv_grab_uk.in: Calculate $now (for the midnight sanity
	  check) at run time, and after Date_Init() has been called.  This
	  should fix the bug found by Stephen Foster that the grabber
	  required TZ to be set.

2003-07-29 15:56  epaepa

	* Makefile.PL: Fixed to work with newer versions of MakeMaker,
	  which define a FIRST_MAKEFILE variable.

2003-07-27 07:43  epaepa

	* todo/xmltv-0.6.dtd: Reinstated 'newness' with values 'repeat',
	  'premiere' and 'new-show', because there are now two bits of
	  information to associate with a repeat (date and channel).  They
	  can't both go in the content of a single attribute, so we need
	  separate 'repeat-date' and 'repeat-channel' attributes.

2003-07-27 07:21  epaepa

	* todo/xmltv-0.6.dtd: Allow nth="last" in <episode-details>, for
	  cases when the total number is not known.

2003-07-27 07:07  epaepa

	* todo/xmltv-0.6.dtd: Split 'newness' into 'repeat', 'new' and
	  'last-chance' attribures.  The content of 'repeat' gives the
	  channel of the previous showing.

2003-07-27 06:30  epaepa

	* todo/xmltv-0.6.dtd: Clarified the meaning of 'original-air-date'.

2003-07-25 10:47  rmeden

	* choose/tv_check/tv_check_doc.html: document wildcard scans
	  document --notruncate option

2003-07-25 10:47  rmeden

	* choose/tv_check/tv_check: add --notruncate option to allow
	  title-scans more than 7 days away

2003-07-25 10:41  rmeden

	* choose/tv_check/.cvsignore: [no log message]

2003-07-25 10:41  rmeden

	* choose/tv_check/.cvsignore: Updated by TortoiseCVS

2003-07-25 10:28  rmeden

	* choose/tv_check/tv_check: case sensitivity to title-scans have
	  been put back in.  a case insensitive wildcard title search
	  capability has been adde

2003-07-25 09:21  rmeden

	* choose/tv_check/tv_check: make Title-Search case insensitive

2003-07-24 14:13  jveldhuis

	* lib/IMDB.pm: update estimate to reflect latest counts

2003-07-20 11:22  epaepa

	* grab/: dk/tv_grab_dk, es/tv_grab_es, fi/tv_grab_fi,
	  hu/tv_grab_hu, it/tv_grab_it.in, na/tv_grab_na, nl/tv_grab_nl,
	  sn/tv_grab_sn: Changed grabbers to use
	  XMLTV::Ask::askManyBooleanQuestions() for handling 'none' and
	  'all' answers.

2003-07-20 11:18  epaepa

	* lib/Ask.pm: askManyBooleanQuestions(): carp() about the mistake
	  of passing 'no' as the default instead of 0 (since the string
	  'no' is false).

2003-07-20 10:13  epaepa

	* grab/na/tv_grab_na: Refactored some duplicate code in
	  configuration.

2003-07-20 07:49  epaepa

	* lib/Ask.pm: askManyBooleanQuestions(): Offer both 'all' and
	  'none' options regardless of the default answer.

2003-07-19 11:28  epaepa

	* grab/na/ZapListings.pm: Say 'use base' instead of 'require' plus
	  '@ISA ='.

2003-07-19 11:28  epaepa

	* grab/uk/tv_grab_uk.in: Now that perl-5.6 is required we no longer
	  need the Tie::RefHash::Nestable workaround.

2003-07-19 11:15  epaepa

	* Makefile.PL, Uninstall.pm, mkdist, attic/html_parsing,
	  choose/tv_pick/tv_pick_cgi, filter/Grep.pm,
	  filter/tv_extractinfo_en, filter/tv_sort, grab/Europe_TZ.pm,
	  grab/Get_nice.pm, grab/es/tv_grab_es, grab/fi/tv_grab_fi,
	  grab/hu/tv_grab_hu, grab/na/ZapListings.pm, grab/na/tv_grab_na,
	  grab/nl/tv_grab_nl, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Ask.pm, lib/Clumps.pm,
	  lib/Gunzip.pm, lib/IMDB.pm, lib/Summarize.pm, lib/TZ.pm,
	  lib/Usage.pm, lib/XMLTV.pm.in, t/parallel_test, t/test_filters.t:
	  Say 'our' instead of 'use vars'.  Changes checked by hand but not
	  every program has been run ('make test' passes).

2003-07-19 09:51  epaepa

	* grab/it/tv_grab_it.PL, grab/nz/tv_grab_nz.PL,
	  grab/uk/tv_grab_uk.PL, lib/set_share_dir.pl: set_share_dir.pl now
	  provides a set_share_dir() function to call with two arguments,
	  rather than using a global $in variable and @ARGV.

2003-07-19 07:24  epaepa

	* t/test_filters.t: Allow extra arguments as regexps for tests to
	  run, so you can say for example './t/test_filters.t --full
	  tv_sort'.

2003-07-14 21:25  rmeden

	* choose/tv_check/tv_check: fix some more loose ends on channel
	  name changes

2003-07-14 15:56  epaepa

	* xmltv.dtd: Clarified the meaning of the 'part number' field in
	  xmltvns episode-nums.

2003-07-12 15:51  epaepa

	* Makefile.PL, filter/tv_sort: Replaced data_eq() in tv_sort with
	  the Storable module, which can be used to implement deep equality
	  testing.

2003-07-12 11:48  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: When an unknown bit of text is very
	  long, it's probably an extra description or review.

2003-07-12 11:48  epaepa

	* grab/nz/tv_grab_nz.in: Handle part numbers like 'P2' (I hope this
	  does express a part number and isn't junk text).

2003-07-11 00:46  rmeden

	* choose/tv_check/tv_check: keep up with tv_grab_na's changes to
	  the channel name field.  It's used to auto-convert from the old
	  tv_grab_na id format to new RFC format.  Once the the show file
	  is written again, the new id values are stored.

2003-07-10 16:18  epaepa

	* mkdist: Check the date in the README file before release.

2003-07-06 14:13  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.15.

2003-07-06 14:12  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Handle (or rather explicitly
	  do-not-handle) another piece of information on the site,
	  'subsequent programmes may be altered or late'.

2003-07-06 13:39  epaepa

	* grab/nz/tv_grab_nz.in: get_programs(): If there's a failure
	  downloading the URL, warn about it and return nothing (rather
	  than aborting).

2003-07-06 12:12  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Fixed for change in the layout of
	  the index page on the upstream site.

2003-07-06 11:46  epaepa

	* grab/nl/tv_grab_nl: process_summary_page(): Refactored parsing of
	  dates: annotate @todo with start day and stop day and then parse
	  each element of it afterwards.

2003-07-06 11:21  epaepa

	* grab/nl/tv_grab_nl: The code to work out when a midnight crossing
	  should be placed was wrong because it wasn't comparing
	  Date::Manip's deltas correctly.  You have to use Delta_Format()
	  before you can compare them - I chose to format them as a number
	  of seconds.

	  This fixes the problem found by Paul Webster where Sport from
	  12:30 to 00:00 would bump the day, giving the wrong day for all
	  the following programmes that were contained inside Sport.  But
	  it does so almost by accident.

2003-07-06 08:20  epaepa

	* lib/IMDB.pm: Now uses XMLTV::Gunzip to open gzipped files.

	  openMaybeGunzip(): new routine to factor out code of gunzipping
	  or opening normally depending on file extension.

2003-07-06 08:02  epaepa

	* lib/Gunzip.pm: This module now provides a way to open .gz files
	  as well as decompressing data in memory.  The opening works by
	  using gzopen() and a simple Tie::Handle wrapper to make
	  Compress::Zlib look like a filehandle.  This code ought to be
	  part of Compress::Zlib itself one day.  If the module is not
	  installed then of course we open a pipe from gzip.

2003-07-05 13:34  epaepa

	* MANIFEST, Makefile.PL, grab/de/tv_grab_de, lib/Gunzip.pm: Moved
	  the code to call Compress::Zlib-or-gzip(1) out of tv_grab_de into
	  a new library XMLTV::Gunzip.

2003-07-05 12:51  epaepa

	* todo/xmltv-0.6.dtd: Added a TODO.

2003-07-05 11:35  jveldhuis

	* grab/na/tv_grab_na: display-name changed from:
	  <diplay-name>Channel 2 CFRN</display-name> to    <display-name>2
	  CFRN</display-name>	 <display-name>2</display-name> to be more
	  consistant with other grabbers and give applications the option
	  of looking for a numeric display-name

2003-07-05 09:57  epaepa

	* todo/xmltv-0.6.dtd: Added <tz-hint> which lets applications
	  convert times into an appropriate timezone to show to the user,
	  even though the times in the XML file are always UTC.  (But
	  documented that code-times for systems like VPS and PDC, which
	  are really just magic numbers, may be in a local timezone.)

	  Decided that newline is treated the same as space; this is
	  consistent with HTML and a bit saner than the old DTD's
	  prohibition of newline.

	  Added an 'id' element to <programme> and created <programme-ref>
	  to refer to it.  Programme-refs can appear inside a timeslot the
	  same way programmes can.  But they must refer to a programme
	  defined earlier in the file (to allow for lazy reading).

	  Stopped misuse of <desc> inside <link> - it was a good idea at
	  first, but then we added 'type of desc' which made it specific to
	  programmes.

	  Documented the <number> element, it was there all along but I
	  hadn't decided what it meant.  It can store any kind of channel
	  number, usually the button you'd press on your television, but
	  also application-defined things depending on the 'system'
	  attribute.  I don't really want to make it any more complicated
	  than that.

2003-07-05 01:58  rmeden

	* lib/IMDB.pm: change from LWP::Simple::getprint to getstore.
	  getprint converts line endings on MacOS and windows, and this
	  screws up the gziped listing files. In addition, getstore doesn't
	  need all the games with STDOUT.

2003-07-03 16:21  epaepa

	* Makefile.PL, README: The complicated testing of Date::Manip
	  should no longer be needed, version 5.42 incorporates the fixes
	  we want so we can just require that.

2003-07-03 16:20  epaepa

	* lib/TZ.pm: Changed a few die()s to croak() when they are the
	  caller's fault.

2003-07-03 16:19  epaepa

	* grab/Europe_TZ.pm: parse_eur_date(): added usage check.

2003-07-03 15:51  epaepa

	* grab/de/tv_grab_de: The upstream timezones are incorrect, don't
	  rely on them but use Europe_TZ instead.

2003-07-02 18:58  jveldhuis

	* Makefile.PL: reversed an accidental check-in that removed the
	  checks for Date::Manip versions

2003-07-01 14:01  jveldhuis

	* Makefile.PL: version 0.5.14 numbers

2003-07-01 13:56  jveldhuis

	* lib/XMLTV.pm.in: version 0.5.14 numbers

2003-07-01 13:50  jveldhuis

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm:
	  version 0.5.14 numbers

2003-07-01 13:47  jveldhuis

	* grab/na/ZapListings.pm: arg s//ios doesn't default to global case
	  insensitive, only the first match

2003-07-01 11:45  jveldhuis

	* grab/na/ZapListings.pm: updated release information in useragent

2003-07-01 11:44  jveldhuis

	* mkdist: put back in cvs tagging

2003-07-01 11:43  jveldhuis

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: updated
	  version numbers and descriptions for 0.5.13 release

2003-07-01 11:20  jveldhuis

	* grab/na/ZapListings.pm: the fix required to support the new
	  zap2it web layout.  Big Big thanks to Gregorio Gervasio who
	  sumitted most of the fixes.

2003-06-29 16:15  epaepa

	* Makefile.PL, README, doc/README.win32, grab/na/ZapListings.pm,
	  lib/XMLTV.pm.in: Version 0.5.12.

2003-06-29 15:54  epaepa

	* lib/IMDB.pm: Declare the name 'OLDOUT' to quell warning.

2003-06-29 14:15  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: The warning about channel names now
	  allows the small difference 'Sky One' -> 'Sky 1', etc.

2003-06-29 14:14  epaepa

	* grab/nl/tv_grab_nl: In --slow mode, deal with a couple of
	  non-Latin-1 characters that creep into the HTML.  A more general
	  character check is still todo.

2003-06-29 14:03  epaepa

	* grab/hu/tv_grab_hu: Trim leading and trailing whitespace from
	  programme titles.

2003-06-29 13:49  epaepa

	* grab/uk/: channel_ids, channel_pkgs/Freeview,
	  channel_pkgs/classics, channel_pkgs/film, channel_pkgs/wales,
	  channel_pkgs/Telewest/Supreme: Updated channel packages after
	  changes on the site.

2003-06-29 10:53  epaepa

	* choose/tv_check/tv_check, filter/tv_cat,
	  filter/tv_extractinfo_en, filter/tv_grep.in, filter/tv_imdb,
	  filter/tv_sort, filter/tv_split, filter/tv_to_latex,
	  filter/tv_to_text, grab/de/tv_grab_de, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/fi/tv_grab_fi, grab/hu/tv_grab_hu,
	  grab/it/tv_grab_it.in, grab/na/tv_grab_na, grab/nl/tv_grab_nl,
	  grab/nl_wolf/tv_grab_nl_wolf, grab/nz/tv_grab_nz.in,
	  grab/sn/tv_grab_sn, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in: All files with pod documentation now
	  have '=pod'.	This should let them get noticed by older versions
	  of MakeMaker.

2003-06-29 10:33  epaepa

	* grab/uk/: channel_ids, channel_pkgs/film,
	  channel_pkgs/NTL/digital/movies, channel_pkgs/Sky/Movies_World:
	  Removed channel widescreen.premier.sky.com, which is no longer on
	  the site.

2003-06-29 10:32  epaepa

	* grab/uk/tv_grab_uk.in: Prompt for 'five main channels' rather
	  than 'terrestrial analogue channels', since nowadays you can get
	  the region'd BBC1 and ITV with digital satellite as well.

	  When warning about unknown channel ids in packages, give the full
	  package filename relative to channel_pkgs/.

2003-06-29 09:51  epaepa

	* grab/de/tv_grab_de: Added 'use bytes' to work around baffling
	  problem reported by Axel Thimm.

	  Remove empty <desc> elements to avoid complaints from XMLTV.pm.

2003-06-29 09:40  epaepa

	* grab/nl/tv_grab_nl: Rewrote --slow mode so that it uses the
	  summary information of 'fast' mode and just adds extra details.
	  This should get rid of the bugs with missing programmes or wrong
	  times in --slow mode.

2003-06-28 13:25  epaepa

	* todo/xmltv-0.6.dtd: Adding 'original air date' for repeated
	  programmes as suggested by Anduin Withers.

2003-06-23 23:32  jveldhuis

	* lib/IMDB.pm: how rude, some entries have (TV) appearing more than
	  once.

2003-06-23 17:57  rmeden

	* choose/tv_check/tv_check.bat: [no log message]

2003-06-22 14:46  epaepa

	* mkdist: Fixed regexp to match xmltv/0.5.11 or whatever in
	  ZapListings.pm.

2003-06-22 14:22  epaepa

	* Makefile.PL, README, mkdist, doc/README.win32,
	  grab/na/ZapListings.pm, lib/XMLTV.pm.in: Version 0.5.11.

	  Added Zaplistings.pm to the version checker in mkdist.

2003-06-22 14:05  epaepa

	* todo/TASKS.epa: Another todo item.

2003-06-22 12:56  epaepa

	* grab/it/tv_grab_it.in: Use get_nice() to download channels page,
	  not get() which is not imported.

2003-06-22 12:54  epaepa

	* grab/it/tv_grab_it.in: Robert E. spotted that --share was broken.

2003-06-22 12:32  epaepa

	* Makefile.PL: Changed description of tv_check as suggested by
	  Robert Eden.

2003-06-22 11:39  rmeden

	* lib/exe_wrap.pl: added tv_grab_it to those programs that need a
	  --share directory

2003-06-22 05:40  epaepa

	* Makefile.PL: More windows_dist fixes: remove useless files and
	  directories.

2003-06-22 05:25  epaepa

	* Makefile.PL: Fixed manual page generation (again).  For some
	  reason $(INSTALLMAN1DIR), which is normally the final resting
	  place of section 1 manual pages, wasn't created at the time
	  windows_dist ran.  Instead we now fetch the pages from
	  $(INST_MAN1DIR), which is the temporary place in blib/, and
	  should always be there.  I hope this doesn't break on anyone
	  else's system with a different MakeMaker.

	  The 'unix2dos' program also has a tendency to misbehave - it can
	  run in two modes, modifying a file in-place or running as a
	  filter and writing the new text to stdout.  My unix2dos seems to
	  have decided to switch from one to the other, so I've replaced it
	  with some Perl code to do the same job.

2003-06-22 04:44  epaepa

	* Makefile.PL: Made the prompting for optional things a bit more
	  manageable - you are offered a default configuration to accept.

2003-06-21 15:16  epaepa

	* grab/na/tv_grab_na: Fixed <episode-num> output - the right system
	  is 'xmltv_ns' not 'xmltv', and formatted the data the same way as
	  tv_cat.

2003-06-21 15:12  epaepa

	* grab/fi/tv_grab_fi: Updated for new layout of channel list on
	  front page - the grabber now works again.

2003-06-21 15:02  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Handle alternate spellings 'Related
	  websites' and 'Related features'; report the correct URL in error
	  messages.

2003-06-21 14:54  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Loosened regexp to match channel
	  list, so the grabber now works again.

2003-06-21 14:45  epaepa

	* grab/nz/tv_grab_nz.in: Parse 'Part 2' etc. and turn it into
	  <episode-num>.

2003-06-21 10:37  epaepa

	* Makefile.PL: Don't create plain text versions of section 3 manual
	  pages for the Windows binary distribution - they are not needed.

	  But where the pages are installed, give them the correct name:
	  XMLTV::Foo rather than just Foo.

2003-06-21 10:07  epaepa

	* Makefile.PL: Fixed windows_dist target: a line was missing.
	  Converted some spaces to tabs (it didn't seem to matter, but
	  might as well be consistent).

2003-06-21 09:44  epaepa

	* MANIFEST: Added merge_tvprefs to file list.

2003-06-21 09:26  epaepa

	* grab/de/tv_grab_de: Fix up the downloaded XML to have
	  proper-looking channel ids and <channel> elements.

2003-06-21 08:02  epaepa

	* grab/nl/tv_grab_nl: Moved most of write_details() into a new
	  routine process_details_page() which returns a programme hash
	  from a single page.  Then write_details()'s job is to track
	  next-day changes and write the programmes.

	  time_van_str(), time_tot_str(): these do now return strings, not
	  Date::Manip objects.

2003-06-21 06:38  epaepa

	* grab/nl/tv_grab_nl: Refactored the calls of summary_page_data()
	  on each of @to_get - the results are needed for both slow and
	  fast modes.

	  Removed detail_urls(), it is not and was not used.

	  Don't warn about empty 'Genre', just skip it.

2003-06-21 05:43  epaepa

	* grab/nl/tv_grab_nl: Trimmed trailing spaces.

2003-06-14 12:26  epaepa

	* Makefile.PL: Version 5.40.epa1 of Date::Manip is now required;
	  added a selection of different verbose error messages explaining
	  what you might or might not need to install.

2003-06-08 13:21  rmeden

	* choose/tv_check/tv_check: added code to automatically convert to
	  new RFC based tv_grab_na channel Ids

	  added code to remove false alarm and "never mind" message when
	  --myrelaytv can't guess a show day, but assumes the old day is
	  ok.

2003-06-08 05:10  epaepa

	* filter/: Grep.pm, tv_grep.in: Fixed bug found by Jeffrey Arundel
	  Ralph and Robert Eden.  An empty regexp does not 'always match',
	  instead it uses the last successfully matching regexp.  This
	  meant it appeared to work for some users but failed for others.
	  Now there is an explicit check for empty regexp whenever one is
	  used.  The strange thing is that this check already existed in
	  some parts of the code, but not everywhere.

2003-06-08 04:47  epaepa

	* choose/tv_pick/merge_tvprefs: Adding trivial merge_tvprefs script
	  to combine two or more prefs files.

2003-06-07 12:09  epaepa

	* choose/tv_pick/tv_pick_cgi: Removed support for very old tvprefs
	  files with 'maybe'.

2003-06-02 22:38  rmeden

	* Makefile.PL: blank lines were left in new windows_dist code.

2003-06-02 00:54  jveldhuis

	* grab/na/tv_grab_na: channel ids now follow RFC2838 as per Ed's
	  request

2003-06-01 16:11  epaepa

	* grab/Europe_TZ.pm: date_to_eur(): Removed unused $clock_shift
	  variable.

2003-06-01 14:44  epaepa

	* todo/xmltv-0.6.dtd: Episode numbers now specify whether they are
	  relative to this season (default) or the show as a whole.

	  The reason for the default attribute value is that I didn't want
	  to leave it ambigous ('episode 7 in unknown') but equally I
	  didn't want to add a comment saying 'if you give the "nth"
	  attribute you must also give "in"'.

2003-06-01 13:31  epaepa

	* grab/nl/tv_grab_nl: process_summary_page(): Rewrote handling of
	  times.  Now instead of taking the first programme with stop <
	  start as the point where the listings cross midnight, all such
	  programmes are compared and the one with the shortest length is
	  taken as the 'real' one (so we ignore things like 'Kilroy
	  10:00-00:00', which is both absurd and all too plausible).  The
	  results returned should now guarantee no programme stops before
	  it starts, and should be in time order.

	  This should fix some of the problems reported by Johan
	  Schravesande.

2003-06-01 11:49  epaepa

	* MANIFEST, t/data/sort1.xml, t/data/sort2.xml,
	  t/data/tv_cat_all_UTF8.expected,
	  t/data/tv_cat_sort1_xml.expected,
	  t/data/tv_cat_sort2_xml.expected,
	  t/data/tv_extractinfo_en_all_UTF8.expected,
	  t/data/tv_extractinfo_en_sort1_xml.expected,
	  t/data/tv_extractinfo_en_sort2_xml.expected,
	  t/data/tv_grep_a_all_UTF8.expected,
	  t/data/tv_grep_a_sort1_xml.expected,
	  t/data/tv_grep_a_sort2_xml.expected,
	  t/data/tv_grep_category_b_sort1_xml.expected,
	  t/data/tv_grep_category_b_sort2_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_sort1_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_sort2_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_sort1_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_sort2_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_sort1_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_sort2_xml.expected,
	  t/data/tv_grep_channel_name_d_sort1_xml.expected,
	  t/data/tv_grep_channel_name_d_sort2_xml.expected,
	  t/data/tv_grep_channel_xyz_or_channel_b_sort1_xml.expected,
	  t/data/tv_grep_channel_xyz_or_channel_b_sort2_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_sort1_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_sort2_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_sort1_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_sort2_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_sort1_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_sort2_xml.expected,
	  t/data/tv_grep_i_last_chance_c_sort1_xml.expected,
	  t/data/tv_grep_i_last_chance_c_sort2_xml.expected,
	  t/data/tv_grep_new_sort1_xml.expected,
	  t/data/tv_grep_new_sort2_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_UTC_sort1_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_UTC_sort2_xml.expected,
	  t/data/tv_grep_on_after_200302161330_UTC_sort1_xml.expected,
	  t/data/tv_grep_on_after_200302161330_UTC_sort2_xml.expected,
	  t/data/tv_grep_on_before_200302161330_UTC_all_UTF8.expected,
	  t/data/tv_grep_on_before_200302161330_UTC_sort1_xml.expected,
	  t/data/tv_grep_on_before_200302161330_UTC_sort2_xml.expected,
	  t/data/tv_grep_premiere_sort1_xml.expected,
	  t/data/tv_grep_premiere_sort2_xml.expected,
	  t/data/tv_grep_previously_shown_sort1_xml.expected,
	  t/data/tv_grep_previously_shown_sort2_xml.expected,
	  t/data/tv_sort_all_UTF8.expected,
	  t/data/tv_sort_by_channel_all_UTF8.expected,
	  t/data/tv_sort_by_channel_sort1_xml.expected,
	  t/data/tv_sort_by_channel_sort2_xml.expected,
	  t/data/tv_sort_sort1_xml.expected,
	  t/data/tv_sort_sort2_xml.expected,
	  t/data/tv_to_latex_all_UTF8.expected,
	  t/data/tv_to_latex_sort1_xml.expected,
	  t/data/tv_to_latex_sort2_xml.expected,
	  t/data/tv_to_text_all_UTF8.expected,
	  t/data/tv_to_text_sort1_xml.expected,
	  t/data/tv_to_text_sort2_xml.expected: A couple of test cases for
	  the recently found (and now fixed) bug in tv_sort.

2003-06-01 11:02  epaepa

	* filter/tv_sort, t/data/tv_sort_all_UTF8.expected,
	  t/data/tv_sort_by_channel_all_UTF8.expected: Fixed a design bug
	  in tv_sort.  Previously, when comparing two programmes, if either
	  of them lacked a stop time then it did not consider stop times
	  and went straight on to comparing other things.  But this makes a
	  bad comparison function: for example three programmes which have
	  the same start time, one of them has no stop time, and the other
	  two have different stop times.  You can see that the <= relation
	  is no longer transitive.  Fixed this by deciding that 'no stop
	  time' comes before 'some stop time'.

	  This meant some changes to add_stop(), the routine which guesses
	  stop times for programmes that don't have them.  This function
	  ought perhaps to be in a separate filter program, but it's still
	  part of tv_sort for now.  add_stop() needs to maintain the
	  invariant that its list of programmes is sorted, so you can't
	  always add stop times because that could now change the sorting
	  order.  But I've rewritten it so it's a bit less tangled than
	  before, I'm fairly sure it's correct, and the results seem about
	  the same as before (except in cases where the old version broke).

2003-06-01 10:55  epaepa

	* MANIFEST: Added new lib/exe_opt.pl to file list.

2003-06-01 10:53  epaepa

	* lib/exe_opt.pl: It's 'xmltv' for the project or maybe 'XMLTV',
	  but definitely not 'xmlTV' :-P.

2003-06-01 10:47  epaepa

	* t/test_filters.t: run(): if system() fails, put STDERR back
	  before trying to report an error!

2003-06-01 05:16  epaepa

	* grab/nl/tv_grab_nl: Skip quietly over the 'Ieder heel uur' and
	  'onder voorbehoud' notices.

2003-06-01 05:02  epaepa

	* Makefile.PL: Make requires tabs not spaces before commands.

2003-06-01 04:12  epaepa

	* lib/XMLTV.pm.in: Remove \r characters when reading input; this is
	  for reading files with CP/M line endings, and should fix some
	  test failures on Windows.

2003-06-01 04:10  epaepa

	* grab/nl/tv_grab_nl: Tidied some code; don't use 'next' to exit a
	  subroutine.

2003-06-01 03:20  epaepa

	* MANIFEST: A couple of files were recently deleted.

2003-06-01 03:00  epaepa

	* grab/nl/tv_grab_nl: Removed lone mention of
	  $Log::TraceMessages::On which was causing a warning.

2003-06-01 01:22  rmeden

	* Makefile.PL: forgot to delete exe_opt.txt

2003-06-01 00:46  rmeden

	* lib/exe_opt.pl: Initial Checkin.  This scipt is used to seed the
	  PERLAPP options for for use in making xmltv.exe It's pretty much
	  constants except for the version fields.

2003-06-01 00:44  rmeden

	* Makefile.PL: add version and other meta-data to xmltv.exe

2003-05-31 15:39  epaepa

	* todo/xmltv-0.6.dtd: Added 'uncertain' attribute to <timeslot> for
	  a general feeling that the listings might change.  This
	  information is provided by tv_grab_nl's listings source.

2003-05-31 13:05  epaepa

	* grab/nl/tv_grab_nl: Changed the handling of programmes with
	  missing start or stop times.	Added <url> to the output where it
	  is known.

2003-05-31 13:03  allena28

	* grab/uk/channel_pkgs/Telewest/: Entry, Essential_Plus: Telewest
	  restructure: only Essential and Supreme packages exist (removed
	  Essential_Plus and Entry)

2003-05-31 12:55  allena28

	* grab/uk/channel_pkgs/Telewest/: Essential, Supreme: Telewest
	  Updates

2003-05-31 08:59  epaepa

	* grab/nl/tv_grab_nl: Whoops, the last version didn't compile due
	  to one too many }s.

2003-05-31 08:34  epaepa

	* filter/tv_grep.in: Added undocumented --echo option which must
	  appear as the first argument and causes tv_grep to dump its
	  arguments to stdout and exit.  This might diagnose some strange
	  bugs on Windows.

2003-05-31 08:30  epaepa

	* todo/xmltv-0.6.dtd: Added a TODO.

2003-05-31 08:11  epaepa

	* filter/tv_imdb: Documented more clearly the memory requirements.

	  Print chatter to STDERR not STDOUT.

2003-05-30 15:47  epaepa

	* lib/IMDB.pm: Use getprint() to download files without loading the
	  whole file into memory.  (OK, later processing does require
	  loading the whole file, but still, this greater frugality in
	  downloading is useful to me.) Also this lets you keep partially
	  written files, which should be renamed to filename.partial.

2003-05-30 15:21  epaepa

	* filter/tv_imdb: Added --download option which if given in
	  --prepStage sets the new 'downloadMissingFiles' flag for
	  XMLTV::IMDB::Crunch.	Changed documentation to reflect this.

	  Documented the slowness in Windows.

2003-05-30 15:07  epaepa

	* lib/IMDB.pm: new(): the new 'downloadMissingFiles' option turns
	  on a simple-minded attempt to get the files from an imdb FTP
	  site.  This might suffice for users on fast connections.  Create
	  the lists/ directory if it doesn't already exist.

2003-05-30 14:11  epaepa

	* filter/tv_imdb: Documented that IMDB.pm runs an external gzip
	  rather than using Compress::Zlib.

2003-05-30 08:58  rmeden

	* Makefile.PL: fix errors dealing with the MAN pages.

2003-05-29 16:17  epaepa

	* grab/nl/tv_grab_nl: Changed the handling of programmes with
	  missing start and stop times: now process_summary_page() returns
	  what it can (including even programmes with stop time but no
	  start) and there is less inclination to spoil a 'good' programme
	  by putting it in a clump with bad ones.

	  This might or might not satisfactorily solve the problems
	  reported by Johan Schravesande.

2003-05-26 09:47  epaepa

	* doc/README.win32: Noted that ^ is the quote character on some
	  Windows versions.

2003-05-26 06:49  epaepa

	* Makefile.PL: Dealt with FIXME: replaced Unix commands (other than
	  echo(1)) with invocations of ExtUtils::Command.  This should
	  improve portability, particularly to Windows.

2003-05-26 04:45  epaepa

	* Makefile.PL, doc/README.win32: Documented date formats for
	  xmltv.exe users in a generated file date_formats.txt.

2003-05-26 04:42  epaepa

	* filter/tv_split: Removed reference to nonexistent xmltv(5)
	  manpage.

2003-05-25 00:31  rmeden

	* lib/exe_wrap.pl: remove error on directory with space in it...
	  doesn't seem to be a problem now

2003-05-22 15:45  epaepa

	* Makefile.PL: Made the configuration process more consistent by
	  having every grabber optional.  Only the XMLTV libraries and
	  filter programs are required.

2003-05-22 15:14  epaepa

	* Makefile.PL: Made all occurrences of tv_grab_nz contained in its
	  hash of conditional stuff.  This should fix the bug where
	  Makefile.PL doesn't run if you say 'no' to tv_grab_nz.

2003-05-22 15:02  epaepa

	* Makefile.PL: Refactoring.

2003-05-22 14:57  epaepa

	* Makefile.PL: Refactoring.

2003-05-22 14:50  epaepa

	* Makefile.PL: Refactoring.

2003-05-22 14:22  epaepa

	* Makefile.PL: Fixed 'set LC_ALL to en_US' error message.

2003-05-21 14:50  epaepa

	* grab/nz/episode_names: Adding dummy episode_names file to keep
	  the Makefile.PL happy.  I hope that soon it will be replaced with
	  a real list of episode names.

2003-05-20 14:25  epaepa

	* MANIFEST: Renamed test cases.

2003-05-19 16:52  staffanmalmgren

	* grab/sn/tv_grab_sn: Fixed bug that skipped channels without
	  program descriptions

2003-05-19 15:09  epaepa

	* t/: test_filters.t,
	  data/tv_grep_on_after_2002_02_05_UTC_all_UTF8.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_amp_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_amp_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_amp_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_amp_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_attrs_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_extract_1_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_extract_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_clump_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_dups_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_dups_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_dups_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_dups_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_empty_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_empty_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_empty_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_intervals_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_length_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_overlap_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_simple_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_sort_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_test_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_test_livre_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_test_sort_by_channel_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_test_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_test_xml_test_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_whitespace_xml.expected,
	  data/tv_grep_on_after_2002_02_05_UTC_x_whatever_xml.expected,
	  data/tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_attrs_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_extract_1_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_extract_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_intervals_xml.expected,
	  data/tv_grep_on_after_2002_02_05_length_xml.expected,
	  data/tv_grep_on_after_2002_02_05_overlap_xml.expected,
	  data/tv_grep_on_after_2002_02_05_simple_xml.expected,
	  data/tv_grep_on_after_2002_02_05_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_after_2002_02_05_sort_xml.expected,
	  data/tv_grep_on_after_2002_02_05_test_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_test_livre_xml.expected,
	  data/tv_grep_on_after_2002_02_05_test_sort_by_channel_xml.expected,
	  data/tv_grep_on_after_2002_02_05_test_xml.expected,
	  data/tv_grep_on_after_2002_02_05_test_xml_test_xml.expected,
	  data/tv_grep_on_after_2002_02_05_whitespace_xml.expected,
	  data/tv_grep_on_after_2002_02_05_x_whatever_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_all_UTF8.expected,
	  data/tv_grep_on_after_200302161330_UTC_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_amp_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_amp_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_amp_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_amp_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_attrs_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_extract_1_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_extract_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_clump_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_dups_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_dups_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_dups_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_dups_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_empty_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_empty_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_empty_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_intervals_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_length_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_overlap_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_simple_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_sort_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_test_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_test_livre_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_test_sort_by_channel_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_test_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_test_xml_test_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_whitespace_xml.expected,
	  data/tv_grep_on_after_200302161330_UTC_x_whatever_xml.expected,
	  data/tv_grep_on_after_200302161330_all_UTF8.expected,
	  data/tv_grep_on_after_200302161330_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_amp_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_amp_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_amp_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_amp_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_attrs_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_extract_1_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_extract_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_clump_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_dups_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_dups_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_dups_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_dups_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_empty_xml_amp_xml.expected,
	  data/tv_grep_on_after_200302161330_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_200302161330_empty_xml_dups_xml.expected,
	  data/tv_grep_on_after_200302161330_empty_xml_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_intervals_xml.expected,
	  data/tv_grep_on_after_200302161330_length_xml.expected,
	  data/tv_grep_on_after_200302161330_overlap_xml.expected,
	  data/tv_grep_on_after_200302161330_simple_xml.expected,
	  data/tv_grep_on_after_200302161330_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_after_200302161330_sort_xml.expected,
	  data/tv_grep_on_after_200302161330_test_empty_xml.expected,
	  data/tv_grep_on_after_200302161330_test_livre_xml.expected,
	  data/tv_grep_on_after_200302161330_test_sort_by_channel_xml.expected,
	  data/tv_grep_on_after_200302161330_test_xml.expected,
	  data/tv_grep_on_after_200302161330_test_xml_test_xml.expected,
	  data/tv_grep_on_after_200302161330_whitespace_xml.expected,
	  data/tv_grep_on_after_200302161330_x_whatever_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_all_UTF8.expected,
	  data/tv_grep_on_before_200302161330_UTC_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_amp_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_amp_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_amp_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_amp_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_attrs_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_extract_1_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_extract_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_clump_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_dups_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_dups_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_dups_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_dups_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_empty_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_empty_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_empty_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_empty_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_intervals_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_length_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_overlap_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_simple_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_sort_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_test_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_test_livre_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_test_sort_by_channel_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_test_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_test_xml_test_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_whitespace_xml.expected,
	  data/tv_grep_on_before_200302161330_UTC_x_whatever_xml.expected,
	  data/tv_grep_on_before_200302161330_all_UTF8.expected,
	  data/tv_grep_on_before_200302161330_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_amp_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_amp_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_amp_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_amp_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_attrs_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_extract_1_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_extract_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_clump_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_dups_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_dups_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_dups_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_dups_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_empty_xml_amp_xml.expected,
	  data/tv_grep_on_before_200302161330_empty_xml_clump_xml.expected,
	  data/tv_grep_on_before_200302161330_empty_xml_dups_xml.expected,
	  data/tv_grep_on_before_200302161330_empty_xml_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_intervals_xml.expected,
	  data/tv_grep_on_before_200302161330_length_xml.expected,
	  data/tv_grep_on_before_200302161330_overlap_xml.expected,
	  data/tv_grep_on_before_200302161330_simple_xml.expected,
	  data/tv_grep_on_before_200302161330_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_before_200302161330_sort_xml.expected,
	  data/tv_grep_on_before_200302161330_test_empty_xml.expected,
	  data/tv_grep_on_before_200302161330_test_livre_xml.expected,
	  data/tv_grep_on_before_200302161330_test_sort_by_channel_xml.expected,
	  data/tv_grep_on_before_200302161330_test_xml.expected,
	  data/tv_grep_on_before_200302161330_test_xml_test_xml.expected,
	  data/tv_grep_on_before_200302161330_whitespace_xml.expected,
	  data/tv_grep_on_before_200302161330_x_whatever_xml.expected: The
	  recent change to tv_grep and other programs to parse command-line
	  dates according to the local timezone broke the test suite.
	  Changed the tv_grep commands so that UTC is explicitly specified
	  for the dates.

2003-05-19 14:31  epaepa

	* MANIFEST, Makefile.PL, choose/tv_check/tv_check, filter/tv_cat,
	  filter/tv_extractinfo_en, filter/tv_grep.in, filter/tv_imdb,
	  filter/tv_sort, filter/tv_split, filter/tv_to_latex,
	  filter/tv_to_text, grab/de/tv_grab_de, grab/dk/tv_grab_dk,
	  grab/es/tv_grab_es, grab/fi/tv_grab_fi, grab/hu/tv_grab_hu,
	  grab/it/tv_grab_it.in, grab/na/tv_grab_na, grab/nl/tv_grab_nl,
	  grab/nl_wolf/tv_grab_nl_wolf, grab/nz/tv_grab_nz.in,
	  grab/sn/tv_grab_sn, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/Version.pm: Every executable now
	  has a --version argument, provided by the new XMLTV::Version
	  library which can parse the CVS id you import it with.

2003-05-19 13:18  epaepa

	* grab/uk/tv_grab_uk.in: Trace the process of finding 'share'
	  files.

2003-05-18 14:11  rmeden

	* lib/exe_wrap.pl: die if a space is found in the exe path and a
	  --share directory is needed.	we know this causes problems.

2003-05-18 11:12  epaepa

	* todo/TASKS.epa: Another todo item.

2003-05-18 10:11  epaepa

	* grab/de/tv_grab_de: Kludge around the 'und uuml;' brokenness.

2003-05-18 09:11  epaepa

	* grab/Grab_XML.pm: Need to import XMLTV::TZ for
	  parse_local_date().

2003-05-17 13:16  epaepa

	* grab/nl/tv_grab_nl: Removed documentation for recently-fixed bug;
	  added documentation about missing channels reported by Johan
	  Schravesande.

2003-05-17 12:56  epaepa

	* grab/nl/tv_grab_nl: A further refinement to the
	  stick-dodgy-programmes-into-a-clump code: delete the stop time of
	  the clump, it was taken from the first programme but we have no
	  indication that this time applies to the clump as a whole (it
	  probably doesn't).  So delete it.

2003-05-17 12:48  epaepa

	* grab/nl/tv_grab_nl: Fixed recently-introduced timezone bug.
	  Added some more trace messages.

	  OK, with this commit I think the bug/feature reported by Johan
	  Schravesande is fixed.  Instead of giving up when confronted with
	  missing or nonsensical times, the grabber will try to output the
	  programmes as part of a clump.

2003-05-17 12:37  epaepa

	* grab/nl/tv_grab_nl: Whoops, fixed so it compiles :-P.

2003-05-17 10:32  epaepa

	* grab/nl/tv_grab_nl: process_summary_page() is now allowed to
	  return results with undef start and stop times, and it's up to
	  the caller to work out what to do with them.	Previously,
	  process_summary_page() would discard the bad results itself.

2003-05-17 10:21  epaepa

	* grab/nl/tv_grab_nl: In fast mode, don't allow programmes to cross
	  midnight twice on the same page (give up if this happens).

	  Added some trace messages.

2003-05-16 13:37  epaepa

	* grab/sn/tv_grab_sn: Whoops, forgot to import XMLTV::TZ module.

2003-05-16 02:16  epaepa

	* MANIFEST, Makefile.PL, grab/nz/tv_grab_nz, grab/nz/tv_grab_nz.PL,
	  grab/nz/tv_grab_nz.in, lib/set_share_dir.pl: Changed the
	  installation of tv_grab_nz to use the .in / .PL approach, so it
	  can have a share directory, like some of the other grabbers.

2003-05-15 16:06  epaepa

	* Makefile.PL: Moved %share_files to the top level and let it be
	  altered by optional things.

2003-05-15 15:56  epaepa

	* Makefile.PL: Refactoring WriterMakefile()'s PL_FILES argument
	  into a variable %pl_files which can be added to by individual
	  optional things.

2003-05-15 15:26  epaepa

	* filter/tv_grep.in, grab/Grab_XML.pm, grab/na/tv_grab_na,
	  grab/sn/tv_grab_sn, lib/TZ.pm: Another attempt at fixing the
	  tv_grep timezone bug.  A new routine
	  XMLTV::TZ::parse_local_date() parses a date and converts it to
	  UTC, so that when Date_Init('TZ=UTC') is called the date object
	  does not get changed.

2003-05-14 23:24  rmeden

	* lib/exe_wrap.pl: limit output of Carp::Confess (called by
	  Date::Manip)

2003-05-14 18:02  epaepa

	* lib/XMLTV.pm.in: Go one better - bad programme or channel
	  elements are not returned to the caller at all.

2003-05-14 17:57  epaepa

	* lib/XMLTV.pm.in: Ignore <programme> elements missing required
	  attributes (return them as undef rather than a hash).

2003-05-13 17:39  epaepa

	* Makefile.PL: Date::Manip 5.41 is required, earlier versions have
	  a bug with numbered (rather than named) timezones.

2003-05-13 17:05  epaepa

	* t/data/: sort.xml, tv_cat_all_UTF8.expected,
	  tv_cat_sort_xml.expected, tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_sort_xml.expected, tv_grep_a_all_UTF8.expected,
	  tv_grep_a_sort_xml.expected,
	  tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  tv_grep_on_after_2002_02_05_sort_xml.expected,
	  tv_grep_on_after_200302161330_all_UTF8.expected,
	  tv_grep_on_after_200302161330_sort_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_sort_xml.expected, tv_sort_sort_xml.expected,
	  tv_to_latex_all_UTF8.expected, tv_to_latex_sort_xml.expected,
	  tv_to_text_all_UTF8.expected, tv_to_text_sort_xml.expected: Added
	  test case for Date::Manip bug (fixed in 5.41).

2003-05-13 01:06  rmeden

	* lib/exe_wrap.pl: oops.. forgot File::Basename

2003-05-13 00:40  rmeden

	* choose/tv_check/README.tv_check: minor doc update

2003-05-13 00:36  rmeden

	* choose/tv_check/tv_check: adding a newline to improve error
	  display

2003-05-13 00:35  rmeden

	* lib/exe_wrap.pl: Pretty much a total rewrite.

	  On my development box (and hence the resulting EXEs) application
	  DIE messages were not being delivered to the users.

	  This version is much simpler (no self generating code), uses a
	  "require" instead of a "do" and seems to work fine.  Error
	  statuses are even passed as DOS ERRORLEVELS if you case to script
	  it.

2003-05-12 16:42  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Fixed last fix.

2003-05-12 16:32  epaepa

	* grab/nl_wolf/tv_grab_nl_wolf: Added sanity check of index page.

2003-05-12 16:23  epaepa

	* filter/tv_grep.in, grab/Grab_XML.pm, grab/na/tv_grab_na,
	  grab/nl/tv_grab_nl, grab/sn/tv_grab_sn, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in: Attempting to fix bug with parsing
	  'now' or 'today' dates.  This can't be done after calling
	  Date_Init('TZ=UTC').

2003-05-12 16:15  epaepa

	* grab/nl/tv_grab_nl: Fixed --offset handling.

2003-05-12 14:51  epaepa

	* todo/xmltv-0.6.dtd: Whoops - forgot to add a place where <length>
	  can appear.

2003-05-12 13:47  epaepa

	* todo/TASKS.epa: Reinstated some thoughts about production vs
	  release date, they document which is which :-P.

2003-05-11 16:30  epaepa

	* Makefile.PL: Whoops, cut-n-paste error.

2003-05-11 16:24  epaepa

	* MANIFEST, Makefile.PL, grab/dk/tv_grab_dk: Adding Jesper Skov's
	  tv_grab_dk grabber for Denmark.

2003-05-11 12:14  epaepa

	* todo/xmltv-0.6.dtd: Ben Bucksch pointed out that having <host> as
	  well as <presenter> is somewhat redundant.

2003-05-11 11:34  epaepa

	* todo/TASKS.epa: In fact, the whole config file reading and
	  setting should be factored out.

2003-05-11 11:29  epaepa

	* todo/TASKS.epa: Perhaps the other grabbers should have some
	  mechanism like tv_grab_na for versioning config files.

2003-05-11 11:13  epaepa

	* todo/xmltv-0.6.dtd: Reinstated <episode-part> because some
	  listings sources need it.

2003-05-11 11:08  epaepa

	* todo/xmltv-0.6.dtd: Changed date format to follow XML Schema as
	  suggested by some on xmltv-devel.

2003-05-11 06:25  epaepa

	* MANIFEST, Makefile.PL, grab/hu/tv_grab_hu: New grabber:
	  tv_grab_hu for Hungary written by Attila Szekeres and Zsolt Varga
	  (although I have changed bits myself as well).

2003-05-11 06:22  epaepa

	* grab/: es/tv_grab_es, sn/tv_grab_sn: Don't read the config file
	  twice, use @config_lines which was read early on.

2003-05-11 05:29  epaepa

	* lib/XMLTV.pm.in: XMLTV::Writer now overrides dataElement() to
	  catch all cases of writing empty (or all-whitespace) element
	  content.  (For things which are intended to be empty call
	  emptyTag().)

2003-05-11 04:56  epaepa

	* todo/xmltv-0.6.dtd: Added 'original' flag to <title> as requested
	  by Ben Bucksch.

2003-05-11 03:56  epaepa

	* todo/xmltv-0.6.dtd: Suggested what 'type' to use for descriptions
	  of one-off programmes like films.

2003-05-11 03:47  epaepa

	* todo/xmltv-0.6.dtd: Provided some way to indicate the system used
	  for polyphonic audio, as requested by Ben Bucksch.

2003-05-11 03:33  epaepa

	* todo/xmltv-0.6.dtd: Some changes suggested by Ben Bucksch:
	  Changed source-info and generator-info back to elements
	  containing <link>.  Given an example of 'if-necessary' in an
	  attempt to explain it better.  Added 'encryption="none"' which is
	  an exception to the rule that values are application-defined.
	  Reinstated <length> although now it is only in seconds.

2003-05-11 03:07  epaepa

	* todo/xmltv-0.6.dtd: As suggested by Jeff Dairiki, removing
	  xml:lang from people's names, it is just too confusing.

2003-05-10 11:02  epaepa

	* grab/Mode.pm: Forgot to add and commit this file earlier.

2003-05-10 10:14  epaepa

	* MANIFEST, Makefile.PL, grab/es/tv_grab_es, grab/fi/tv_grab_fi,
	  grab/nl/tv_grab_nl, grab/sn/tv_grab_sn, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in: A new library XMLTV::Mode factors
	  out the check 'you cannot configure and list channels at the same
	  time'.

	  Made sure all the grabbers fail early if they cannot read the
	  config file during grabbing, rather than starting to download or
	  write data before the config file is checked.

2003-05-10 10:11  epaepa

	* grab/uk/: channel_ids, channel_pkgs/film: Removed a couple of
	  dead channels.

2003-05-10 10:10  epaepa

	* todo/TASKS.epa: There needs to be a summary 'xmltv' manpage and
	  an automated test suite for grabbers.

2003-05-10 09:48  epaepa

	* grab/nz/tv_grab_nz: Whoops, botched the last change - there was
	  already a config file message.  But it wasn't displayed until
	  later in the process.

2003-05-10 09:44  epaepa

	* grab/nz/tv_grab_nz: Print a message to stderr saying what config
	  filename has been guessed.

2003-05-10 08:23  epaepa

	* grab/es/tv_grab_es: Fixed spelling of --list-channels in
	  documentation.

2003-05-10 08:11  epaepa

	* todo/xmltv-0.6.dtd: Some more suggestsions from Christoph Paeper.
	  Changed to use xml:lang instead of plain lang, and this
	  attribute can be set in <tv> or <programme> and inherited by
	  child elements.  The four properties repeat, premiere, new-show
	  and last-chance are now mutually exclusive values of a single
	  'newness' attribute.	<audio> now has an 'extra-for-blind' flag
	  for audio tracks giving extra information.

2003-05-09 16:15  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart, doc/README.win32,
	  grab/us_gist/tv_grab_us_gist: Removed tv_grab_us_gist, the
	  gist.com site is no longer providing listings.

	  Removed the 'changes in this release' from README and
	  README.win32.

2003-05-09 15:58  epaepa

	* MANIFEST: Added grab/Get_nice.pm to file list.

2003-05-09 13:14  epaepa

	* todo/xmltv-0.6.dtd: One more example value for 'code-num'.

2003-05-08 18:26  rmeden

	* lib/exe_wrap.pl: removed error for tv_imdb.  It works on windows
	  now.

2003-05-08 18:23  rmeden

	* choose/tv_check/tv_check: rename $MYREPLAY_SAVE ->
	  $MYREPLAY_DEBUG more accurate added debug messages when
	  $MYREPLAY_DEBUG==2 shorten the "Mon, Tue, Wed...." to "*" in
	  warning if all days specified filter out episodes more than a
	  week away in extra eposide scan fix bug where day not set on
	  initial myrelaytv import

2003-05-08 15:25  epaepa

	* todo/xmltv-0.6.dtd: Jeff Dairiki pointed out that it wasn't clear
	  how to spell VideoPlus+(tm) in the 'system' attribute.

2003-05-08 15:20  epaepa

	* todo/xmltv-0.6.dtd: The <p> element is for paragraph text content
	  (Ben Bucksch found a listings source that needs it).

	  Fixed <star-rating> so it contains an <icon> rather than having
	  some unfinished IDREF to an icon stored elsewhere (thanks to Jeff
	  Dairiki for spotting this).  Also this means the textual content
	  has moved into its own <for> element, which seems tidier.

2003-05-06 10:41  jveldhuis

	* filter/tv_imdb: optimized a bit and now open/close database only
	  once instead of for every query

2003-05-06 10:41  jveldhuis

	* lib/IMDB.pm: removed come commented out code

2003-05-06 10:40  jveldhuis

	* lib/IMDB.pm: optimized a bit and now open/close database
	  index/deails files only once

2003-05-06 10:17  jveldhuis

	* lib/IMDB.pm: no longer dependent on look(1), now uses
	  Search::Dict

2003-05-06 10:16  jveldhuis

	* filter/tv_imdb: no longer dependent on look(1)

2003-05-05 11:54  jveldhuis

	* grab/na/ZapListings.pm: added in check of http status code when
	  first page is retrieved and warns http_proxy env variable may
	  need setting

2003-05-04 16:05  ramonroca

	* grab/es/tv_grab_es: Fixed a bug when the listing has not
	  description and now parses the title-subtitle

2003-05-04 14:14  epaepa

	* todo/xmltv-0.6.dtd: Added a vague <affiliation> element.

2003-05-04 14:10  epaepa

	* todo/xmltv-0.6.dtd: Added a FIXME.

2003-05-04 13:35  epaepa

	* todo/xmltv-0.6.dtd: Added optional <call-sign> element under
	  <channel>.  It could have been an attribute, but this way is more
	  consistent with <number>.

2003-05-04 13:29  epaepa

	* todo/xmltv-0.6.dtd: A couple of changes after discussion with Ben
	  Bucksch: <star-rating> can appear several times and element
	  content gives the type of star-rating; and a comment documents
	  the 'show' and 'season' terminology.

2003-05-04 13:13  epaepa

	* grab/sn/tv_grab_sn: Changed to use XMLTV::Get_nice so there is a
	  small delay between page fetches.

2003-05-04 13:09  epaepa

	* grab/Get_nice.pm: Whoops, I removed LWP::Simple from grabbers but
	  forgot to add it to Get_nice.pm.

2003-05-04 07:38  epaepa

	* Makefile.PL, grab/Get_nice.pm, grab/es/tv_grab_es,
	  grab/fi/tv_grab_fi, grab/it/tv_grab_it.in, grab/nl/tv_grab_nl,
	  grab/sn/tv_grab_sn: Factored out the code to get a page and then
	  sleep() into a new library XMLTV::Get_nice.

2003-05-04 06:32  epaepa

	* Makefile.PL: MY::manifypods(): small refactoring.

2003-05-04 06:27  epaepa

	* todo/xmltv-0.6.dtd: Clarified the usage of <unknown> with some
	  more comments and the attributes 'from' and 'until' in <tv>,
	  outside which things are implicitly unknown.

2003-05-04 05:44  epaepa

	* todo/xmltv-0.6.dtd: Fixed some comments following suggestions by
	  Ben Bucksch.

2003-05-03 16:14  jveldhuis

	* grab/na/tv_grab_na: fixed problem in configure when picking a
	  provider description that appears twice - SF Bug #731721

2003-05-03 08:56  epaepa

	* todo/TASKS.epa: Another todo.

2003-05-03 08:17  epaepa

	* todo/xmltv-0.6.dtd: Moved 'part' stuff out of episode-details, as
	  suggested by Davide Chiarini.

2003-05-03 06:58  epaepa

	* todo/xmltv-0.6.dtd: Added 'types' of <desc>, following discussion
	  on xmltv-devel.

2003-04-30 16:32  epaepa

	* todo/xmltv-0.6.dtd: Added FIXME.

2003-04-30 16:07  epaepa

	* todo/xmltv-0.6.dtd: Change to categories as discussed on
	  xmltv-devel: they can have both a code and a human-readable
	  description.	This means a single <category> element.

	  Fixed the example XML and documentation for the series -> season
	  name change.	Cleaned up a stray '>' character.

2003-04-29 14:25  epaepa

	* todo/xmltv-0.6.dtd: Documented more clearly that PDC times (for
	  example) are often in local timezone and so differ from the
	  physical times which are in UTC.  (Thanks to Andrew Wiseman for
	  clearing this up.)

2003-04-29 14:22  epaepa

	* todo/xmltv-0.6.dtd: Fixed some things suggested by Christoph
	  Paeper in discussion on xmltv-devel.

2003-04-28 10:28  jveldhuis

	* grab/na/tv_grab_na: config file major version 3 implemented  -
	  '#channel %d' entries are now 'not channel %d'  - 'provider %d #
	  %s' are now 'provider %d %s'

	  auto upgrading is done on the fly by identifying version 2 style
	  config files, warning to re-run --configure stage.

2003-04-27 13:19  epaepa

	* todo/: TASKS.epa, xmltv-0.6.dtd: First attempt at the new version
	  of the DTD.  I will send a message to the mailing list shortly.

2003-04-26 16:28  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: Version
	  0.5.10.

2003-04-26 15:38  epaepa

	* grab/Memoize.pm: Handle Memoize versions that are not numeric.
	  (I don't think there have been any, it's just my local
	  hacked-around copy, but on principle...)

2003-04-26 15:37  epaepa

	* grab/Europe_TZ.pm: Changed a few input-validation errors to
	  Carp::croak() rather than die().

2003-04-26 15:31  epaepa

	* grab/fi/tv_grab_fi: Fixed timezone handling to use Europe_TZ.

2003-04-26 14:10  epaepa

	* grab/it/tv_grab_it.in: The bug 'I haven't even considered what
	  happens with DST issues' no longer exists!

2003-04-26 14:06  epaepa

	* grab/nz/tv_grab_nz: Removed redundant 'timezone' variable.  But
	  I'm still not sure what the code is doing with timezones... I
	  think it just ignores them.

2003-04-26 13:57  epaepa

	* grab/nl/tv_grab_nl: Fixed to use Europe_TZ for dates so the
	  timezone is correct in output.

	  Handle 'Behaalde prijzen' in programme descriptions.

2003-04-26 11:26  epaepa

	* grab/it/tv_grab_it.in: xmltv_date(): fixed to use Europe_TZ so
	  that the timezone switches correctly between +0100 and +0200.

2003-04-26 11:18  epaepa

	* grab/it/tv_grab_it.in: Stylistic change to remove unneeded
	  quotation marks around hash keys - this makes it easier to grep
	  through the code for {start}, for example.  Also removed some
	  trailing whitespace.

2003-04-26 09:00  epaepa

	* grab/fi/tv_grab_fi: If a stop time is not known, then no stop
	  time is written - this is better than guessing a wrong time.

2003-04-26 08:56  epaepa

	* grab/es/tv_grab_es: Removed incorrect comment - in fact the
	  grabber does not set top times at all.

2003-04-26 08:53  epaepa

	* grab/es/tv_grab_es: Fixed timezone handling, now uses
	  Europe_TZ.pm.  This gives the correct output now (summer time,
	  +0200) and hopefully will keep working after the change back to
	  CET.

2003-04-26 08:24  epaepa

	* grab/us_gist/tv_grab_us_gist: Corrected manual page.

2003-04-26 08:20  epaepa

	* grab/Memoize.pm: Realized that Getopt::Long has a 'passthrough'
	  option, so I don't need to write my own argument-parsing code
	  just to extract the --cache option.  We use the OO interface to
	  Getopt::Long to avoid setting global options which would affect
	  other callers.

2003-04-26 07:59  epaepa

	* grab/us_gist/tv_grab_us_gist: Implemented --configure to set
	  userid and timezone.	This replaces the environment variables
	  that were formerly used.

2003-04-26 07:12  epaepa

	* grab/us_gist/tv_grab_us_gist: Moved 'use LWP::UserAgent' to a
	  more logical place.

2003-04-26 07:01  epaepa

	* grab/us_gist/tv_grab_us_gist: Changed to use new cachables()
	  method to do memoization.  I still can't seem to memoize a method
	  rather than a function, so the work of getting pages has moved to
	  a new get_deflate() routine in the main package, which can then
	  be memoized.

2003-04-26 06:45  epaepa

	* grab/Grab_XML.pm: Instead of calling XMLTV::Memoize::check_argv()
	  with a fixed list of functions at the top of the script, call it
	  inside the go() method and get the list of things to memoize from
	  a new method cachables().  Then subclasses which have their own
	  way of fetching web pages can override that method.

2003-04-26 06:42  epaepa

	* grab/Memoize.pm: Whoops, forgot to turn of trace mesages.

2003-04-26 06:40  epaepa

	* grab/Memoize.pm: Fixed to work with names of functions not in the
	  caller's package (eg, calling check_argv('LWP::Simple::get')).
	  Now returns a reference to a list of memoized functions, or undef
	  if no memoization happens (this is consistent with the earlier
	  true/false return values).  Checks that memoize() succeeds and
	  dies if not.

2003-04-26 05:18  epaepa

	* grab/: Config_file.pm, es/tv_grab_es, fi/tv_grab_fi,
	  it/tv_grab_it.in, na/tv_grab_na, nl/tv_grab_nl, sn/tv_grab_sn,
	  uk/tv_grab_uk.in, uk_rt/tv_grab_uk_rt.in:
	  XMLTV::Config_file::filename(): print a message to stderr saying
	  what filename has been picked for the config file.  A new
	  optional 'quiet' argument turns this off.

	  Factored out the code for reading a config file as lines and
	  removing comments: a new routine
	  XMLTV::Config_file::read_lines().

2003-04-26 03:48  epaepa

	* grab/na/tv_grab_na: Changed s/\n$// to chomp, which is a Perl
	  builtin to do the same thing.

2003-04-26 03:08  epaepa

	* grab/: Config_file.pm, es/tv_grab_es, fi/tv_grab_fi,
	  it/tv_grab_it.in, nl/tv_grab_nl, nz/tv_grab_nz, sn/tv_grab_sn,
	  uk/tv_grab_uk.in, uk_rt/tv_grab_uk_rt.in: A new routine
	  XMLTV::Config_file::check_no_overwrite() factors out the
	  duplicated 'are you sure you want to overwrite the config file?'
	  check in most grabbers.

2003-04-25 16:19  epaepa

	* grab/us_gist/tv_grab_us_gist: Use XMLTV::Memoize to --cache the
	  get() method, since it is overridden in this class and doesn't
	  call LWP::Simple::get().

2003-04-25 16:17  epaepa

	* grab/Grab_XML.pm: Changed the undocumented --cache option to
	  cache LWP::Simple::get() rather than the method Grab_XML->get().

2003-04-25 15:18  epaepa

	* grab/nl/tv_grab_nl: Rateher than initializing Date::Manip to work
	  with Dutch date strings, keep it in English and change the
	  strings before passing them to ParseDate().  This is because the
	  language is a single global setting and we want to interoperate
	  with libraries that use English strings.

2003-04-25 14:26  epaepa

	* grab/sn/tv_grab_sn: Added a check that programme title is set
	  before attempting to call write_programme().	This may put us a
	  little closer to finding the cause of the problem Tommy Killander
	  reported on xmltv-users.

2003-04-24 18:01  staffanmalmgren

	* grab/sn/tv_grab_sn: Updated to use utc_offset to add UTC offset
	  to dates

2003-04-24 18:00  staffanmalmgren

	* grab/Europe_TZ.pm: Added convenience function utc_offset

2003-04-23 14:31  epaepa

	* todo/TASKS.epa: Gathered some information from the xmltv-devel
	  archives; collected together a bunch of requirements for
	  subtitles.

2003-04-23 14:23  epaepa

	* Makefile.PL, README: Promoted Memoize from 'recommended' to
	  'required', since perl 5.8 includes it.  Yes, you can always
	  scrape by without Memoize, but the user may not understand why
	  things are running slowly.  I could print a warning, but simpler
	  just to require the modulee, as more and more vendors ship 5.8 or
	  later.  VS:

2003-04-22 17:22  rmeden

	* grab/us_gist/tv_grab_us_gist: a few simple changes to allow
	  tv_grab_us_gist to be used with xmltv.exe The userid is no longer
	  hard coded, but set with an enviornment variable.  A TZ
	  adjustment is sent to GIST in the URL.

2003-04-22 15:22  staffanmalmgren

	* grab/sn/tv_grab_sn: Fixed bug which made timestamps have the
	  wrong timezone due to DST changeover, for good (hopefully)

2003-04-22 14:32  epaepa

	* grab/Europe_TZ.pm: date_to_eur(): Fixed (I hope) to work with
	  timeonzes other than UTC/UTC+1.  Thanks to Staffan M. for finding
	  the bug,

2003-04-22 09:07  ramonroca

	* grab/es/tv_grab_es: Another break at elpais.es, seems active
	  those days

2003-04-20 19:57  rmeden

	* choose/tv_check/tv_check: don't use Replay fuzzy logic for
	  MYREPLAYTV devices because the episode will be added as a
	  separate show by the MYREPLAYTV fetch logic.

	  Removed extra fields from SHOW file.

2003-04-20 15:40  epaepa

	* MANIFEST, Makefile.PL, grab/Config_file.pm, grab/es/tv_grab_es,
	  grab/fi/tv_grab_fi, grab/it/tv_grab_it.in, grab/na/tv_grab_na,
	  grab/nl/tv_grab_nl, grab/nz/tv_grab_nz, grab/sn/tv_grab_sn,
	  grab/uk/tv_grab_uk.in, grab/uk_rt/tv_grab_uk_rt.in: A new library
	  XMLTV::Config_file encapsulates the job of working out the config
	  filename and doing weird things like creating directories or
	  migrating config filenames.

2003-04-20 07:26  epaepa

	* MANIFEST, Makefile.PL, grab/Europe_TZ.pm, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in, lib/TZ.pm, lib/UK_TZ.pm: Replaced
	  the UK_TZ.pm library with Europe_TZ.pm, which should work for
	  most European countries.  The functions are the same but you must
	  pass in the 'base' or winter timezone as an extra parameter (so
	  for British times pass 'UTC').

	  TZ.pm has a new routine tz_to_num() which converts named
	  timezones to their numeric equivalent.

2003-04-20 06:57  epaepa

	* grab/sn/tv_grab_sn: Whitespace.

2003-04-20 05:07  ramonroca

	* grab/es/tv_grab_es: Solved a break due to change in elpais.es,
	  and othe minor things

2003-04-20 03:33  epaepa

	* todo/TASKS.epa: Anotehr todo item.

2003-04-19 10:10  allena28

	* grab/uk/channel_pkgs/NTL/: analogue, digital/Base: Updates to NTL
	  Packages

2003-04-18 11:12  allena28

	* grab/uk/channel_pkgs/Sky/: Family, Value: updated Sky packages

2003-04-18 09:44  epaepa

	* grab/uk/README: Removed UK_TZ.pm from the file descriptions since
	  it no longer lives in this directory.

2003-04-18 09:24  epaepa

	* lib/exe_wrap.pl: Each 'command' subroutine stored in %cmds is now
	  expected to handle errors itself - to exit(1) or die() if things
	  went wrong.  This means that the commands for do()ing some Perl
	  script need to check the return value of do() and the $! and $@
	  variables.  Then if a command returns control to the caller, we
	  just exit successfully.

	  This should fix the bug reported by Andy Balaam on xmltv-devel,
	  'non-zero exit codes in Windows'.  But it is *untested*, I don't
	  have access to the Windows exe compiler.

2003-04-18 08:54  epaepa

	* grab/nl/tv_grab_nl: Added function prototypes.

	  get_courteous(): there seems to be a difference in Perl versions
	  on how calling get_courteous_aux(@_) is interpreted.	Or some
	  weird interaction with Memoize.  It seems that @_ was being
	  turned into a scalar by taking the length of the list, ie 1.
	  I've changed it to call get_courteous_aux($_[0]), which works on
	  perl 5.8 and should work on all other versions.

2003-04-16 08:15  rmeden

	* lib/exe_wrap.pl: removed CST6CDT style filenames. Replaced with
	  numeric style.  (The above was required due to a big in
	  Parse::Date, which has been fixed)

	  Added a module to block tv_imdb, since it requires a unix "look"
	  program.

2003-04-16 08:09  rmeden

	* choose/tv_check/tv_check: don't alarm on unexpected show length
	  if length missing or zero.  fixed problem with "NO GUIDE"
	  messages if last entry of the day

2003-04-15 15:02  epaepa

	* filter/tv_cat, lib/XMLTV.pm.in: Moved catfiles() from tv_cat into
	  XMLTV.pm.

2003-04-15 14:46  epaepa

	* filter/tv_cat: catfiles(): Refactored the code into this routine,
	  which is passed some arguments for an XMLTV::Writer and some
	  filenames to read from.  Intending to move into XMLTV.pm soon.

2003-04-14 09:54  jveldhuis

	* grab/na/: ZapListings.pm, tv_grab_na: switched cases were I use
	  [^\s]+ in regexp with \S+

2003-04-13 03:46  epaepa

	* grab/us_gist/tv_grab_us_gist: Link to Gist's page describing
	  their XMLTV feed.

2003-04-12 16:04  epaepa

	* grab/us_gist/tv_grab_us_gist: Override XMLTV::Grab_XML::get() to
	  add 'Accept-encoding: gzip' and then decompress.  The grabber now
	  works!

2003-04-12 15:40  epaepa

	* grab/: Grab_XML.pm, de/tv_grab_de, nl_wolf/tv_grab_nl_wolf,
	  us_gist/tv_grab_us_gist: XMLTV::Grab_XML::get(): new package
	  method to get the contents of a page at a given URL.	This will
	  let grabbers override the mechanism used to fetch a page (the
	  default implementation uses LWP::Simple).

	  This does mean that packages inheriting from XMLTV::Grab_XML
	  should not import LWP::Simple's get() function, it will clash
	  with the method of the same name.

2003-04-12 06:45  epaepa

	* MANIFEST, Makefile.PL, doc/QuickStart,
	  grab/us_gist/tv_grab_us_gist: Adding a new grabber
	  tv_grab_us_gist to fetch the XMLTV listings made available by
	  gist.com.  It's not yet finished and in fact I don't even know if
	  it works - but it will soon.	(Committing so I can run it from my
	  shell account rather than over a modem link!)

2003-04-12 04:42  epaepa

	* todo/TASKS.epa: Added an extract from my recent message on
	  xmltv-devel about <category>.

2003-04-09 22:55  jveldhuis

	* lib/IMDB.pm: make argument naming consistant with tv_imdb

2003-04-09 22:53  jveldhuis

	* filter/: tv_imdb: --moviesOnly is no --movies-only

2003-04-06 16:27  jveldhuis

	* filter/tv_imdb, lib/IMDB.pm: added --moviesOnly option

2003-04-06 15:40  jveldhuis

	* lib/IMDB.pm: Term::ProgressBar now optional - thanks to Ed for
	  the patch

2003-04-06 15:34  jveldhuis

	* lib/IMDB.pm: removed a duplicated conditional

2003-04-06 12:20  epaepa

	* MANIFEST, Makefile.PL, grab/nl_wolf/tv_grab_nl_wolf: New grabber:
	  tv_grab_nl_wolf downloads XMLTV files from Carlo de Wolf's site.
	  Is is based on the Grab_XML library recently factored out of
	  tv_grab_de.

2003-04-06 12:17  epaepa

	* mkdist: Comment.

2003-04-06 11:59  epaepa

	* lib/XMLTV.pm.in: cat(): when several sets of listings have
	  different 'dates', choose the latest date for the result.  Other
	  attributes of <tv> are processed as before (taken arbitrarily
	  from the first file).

2003-04-06 11:29  epaepa

	* mkdist: chdir() to $TMP_CHECKOUT_DIR once rather than prepending
	  a 'cd' to every command run.

	  Don't use tar --bzip2, it pads the compressed data with zeros or
	  something weird.

2003-04-06 11:22  epaepa

	* mkdist: FTP the tarball in binary mode!

2003-04-06 09:55  epaepa

	* MANIFEST, Makefile.PL, grab/Grab_XML.pm, grab/de/tv_grab_de,
	  lib/Usage.pm: Factored out most code from tv_grab_de into a new
	  library XMLTV::Grab_XML.  Changed XMLTV::Usage so you can pass a
	  usage message to usage(), you don't have to set it when importing
	  the module.  Fixed a Makefile bug where manual pages would be
	  installed under the wrong filename.

2003-04-06 05:36  epaepa

	* Makefile.PL: Version 0.5.9.

2003-04-06 05:31  epaepa

	* doc/README.win32: Updated with changes for the new release
	  (assuming that tv_imdb and the new grabbers will be included in
	  xmltv.exe).

2003-04-06 05:28  epaepa

	* doc/README.win32: Version 0.5.9 (although the Windows binary
	  won't come out immediately).

2003-04-06 05:26  epaepa

	* lib/XMLTV.pm.in: Version 0.5.9.

2003-04-06 04:58  epaepa

	* README: Updated for 0.5.9.

2003-04-06 04:39  epaepa

	* grab/de/tv_grab_de: Documented the fact that the upstream
	  listings currently have broken timezones.

2003-04-06 04:24  epaepa

	* doc/QuickStart: Added a paragraph about tv_imdb.

2003-04-05 16:40  epaepa

	* todo/TASKS.epa: A couple of things to add to the file format.

2003-04-05 16:39  epaepa

	* grab/uk/: channel_ids, channel_pkgs/classics, channel_pkgs/film,
	  channel_pkgs/Sky/Family, channel_pkgs/Telewest/Supreme: Removed
	  some channels which were no longer on the site.

2003-04-05 16:29  epaepa

	* grab/nz/tv_grab_nz: Documented a bug.

2003-04-05 16:05  epaepa

	* grab/nl/tv_grab_nl: Don't output 'debug_more' comments in fast
	  mode (this was left in the code by mistake).

2003-04-05 16:05  epaepa

	* grab/nl/tv_grab_nl: Added support for 'Orginele Titel' in
	  programme description pages.

2003-04-05 15:52  epaepa

	* grab/nl/tv_grab_nl: Fixed several bugs including missing
	  programmes when a day is split over two pages ('Volgende' link,
	  which previously was not handled by --slow mode).  This has
	  involved commonizing some of the code between fast and slow,
	  which is no bad thing.

2003-04-05 13:50  epaepa

	* lib/XMLTV.pm.in: Fixed the handling of 'debug' keys in hases so
	  it does what it says on the tin.  It should work now for channels
	  as well as programmes.

2003-04-05 13:26  epaepa

	* lib/XMLTV.pm.PL: Don't 'use diagnostics', they slow down loading
	  and aren't that helpful.

2003-04-05 06:18  epaepa

	* grab/nl/tv_grab_nl: do_summary_page(): handle (recursively) the
	  'Volgende' links that sometimes appear.  These mean next page for
	  the same day.  This has involved adding a new parameter,
	  'official day' which is not necessarily the same as 'actual day',
	  and is used only to sanity-check the date printed in the page.

2003-04-05 04:08  epaepa

	* grab/nz/tv_grab_nz: Removed debugging message left in the code my
	  mistake.

2003-04-05 03:38  epaepa

	* grab/sn/tv_grab_sn: Added some missing function prototypes.

2003-04-05 03:32  epaepa

	* grab/sn/tv_grab_sn: Quote an apostrophe in pod documentation to
	  avoid confusing editors.

2003-04-04 16:57  epaepa

	* grab/nl/tv_grab_nl: Moved the code for downloading and processing
	  the programme summary page for each day into a routine
	  do_summary_page().

2003-04-04 16:39  epaepa

	* grab/nl/tv_grab_nl: Eliminated confusing $date variable.

2003-04-04 16:11  epaepa

	* grab/nz/tv_grab_nz: Fixed bug where a programme crossing midnight
	  would have a stop time in the wrong day.

2003-04-04 14:36  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Handle URLs which appear in without
	  preceding text like 'Related Websites'.

2003-04-04 12:39  epaepa

	* grab/sn/tv_grab_sn: Patch from Martin Moeller to cope with a
	  recent site change.

2003-04-03 02:26  epaepa

	* grab/nl/tv_grab_nl: Fixed bug reported by Marcel where the first
	  programme after midnight on a given day would not have its stop
	  time moved forward by 24 hours - due to a 'my' in an inner scope
	  hiding the real $stop variable.

2003-04-03 02:23  epaepa

	* filter/tv_sort: Added a warnong for programmes whose stop time is
	  before their start time.

2003-04-02 14:32  epaepa

	* grab/nl/tv_grab_nl: Changed default number of days to seven.

2003-04-02 14:29  epaepa

	* grab/nl/tv_grab_nl: Fixed to work again with offset zero: I
	  didn't realize that (uniquely among the sites fetched from so
	  far) the listings source does number its days from zero.

	  Better handling of pages that have no listings content at all (as
	  when you ask for more days than the site has).

2003-03-31 14:20  epaepa

	* todo/TASKS.epa: A couple more file format improvements to be
	  done.

2003-03-31 02:21  epaepa

	* doc/QuickStart: Updated for newly added grabbers.

2003-03-30 20:20  jveldhuis

	* grab/na/tv_grab_na: when a command line error occurs or usage
	  problem, print message about how to get command line help,
	  instead of providing the help... windows users fail to see actual
	  error messages since usage is so long

2003-03-30 16:08  staffanmalmgren

	* grab/sn/tv_grab_sn: Changed maintaner information, as per Ed's
	  suggestion

2003-03-30 08:45  epaepa

	* grab/uk/tv_grab_uk.in: Better error message when --offset is
	  given and the site doesn't have enough days of listings to
	  satisfy the request (which is happening increasingly often).

2003-03-30 08:03  epaepa

	* grab/nl/tv_grab_nl: Fixed date calculation bug: the day numbers
	  on the site count from 1 meaning today.

2003-03-30 08:02  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: get_programmes(): prepend the URL to
	  warning and error messages.

2003-03-30 07:25  epaepa

	* grab/de/tv_grab_de: Accept but politely ignore the --config-file
	  option.

2003-03-30 07:22  epaepa

	* grab/nz/tv_grab_nz: Added support for a --cache option which is
	  ignored.  This is for consistency with the undocumented --cache
	  option in other grabbers: the option now means 'cache me if you
	  can'.

2003-03-30 07:14  epaepa

	* grab/nz/tv_grab_nz: More thorough command-line checking: error if
	  there are arguments left over after parsing options.

2003-03-30 06:43  epaepa

	* grab/na/tv_grab_na: Added an --cache option which is accepted but
	  ignored.  This is for consistency with the other grabbers, in
	  particular, to make it easier to write a grabber test suite.
	  Some day the --cache option can actually do something.

2003-03-30 06:37  epaepa

	* grab/na/tv_grab_na: Check the command line more throughly: it is
	  an error if any arguments remain after processing options.

2003-03-30 06:35  epaepa

	* grab/na/tv_grab_na: Improved main usage message.

2003-03-30 06:18  epaepa

	* grab/na/tv_grab_na: Made same tidying elsewhere, I didn't realize
	  there were two cals to GetOptions().

2003-03-30 04:37  epaepa

	* grab/na/tv_grab_na: Code tidy moving each command-line option
	  onto its own line.  This should make it easier to add and remove
	  them and change them in patches (since diff works line-by-line).

2003-03-29 18:14  epaepa

	* grab/nl/tv_grab_nl: Don't warn about 'Volgende' link which has
	  started appearing on channel summary pages.

2003-03-29 18:13  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Suppress duplicate warnings when the
	  channel name of a programme details page doesn't match that on
	  the channels page (this has started firing for a difference
	  bwtween 'Sky 1' and 'Sky One').

2003-03-29 18:07  epaepa

	* grab/uk/: channel_ids, channel_pkgs/Freeview, channel_pkgs/wales:
	  Channel S4C2 seems to have disappeared from the site.  I'm just
	  commenting it out for now in case it reappears later.

2003-03-29 17:49  epaepa

	* grab/nl/tv_grab_nl: Was being a bit overzealous in delete()ing a
	  TreeBuilder object before the data from it had been extracted.

2003-03-29 16:17  epaepa

	* filter/tv_extractinfo_en: Don't memoize list_names().  My Memoize
	  seems to have gone funny recently, confusing scalar and list
	  context.

2003-03-29 15:53  epaepa

	* MANIFEST, Makefile.PL, grab/nl/tv_grab_nl: Added tv_grab_nl, a
	  grabber for the Netherlands.	This is based on the version Guido
	  Diepen sent me but I have rewritten parts of it - in particular,
	  the default mode is now to output only brief programme details
	  and save on page fetches.

2003-03-29 14:27  epaepa

	* todo/TASKS.epa: Another task that's partly done is the
	  --list-channels option.  I am adding it here because I've decided
	  that --list-channels is not a hard requirement for new grabbers
	  at the moment: I am adding new grabbers (or making new releases
	  of existing ones) that lack this option.

2003-03-29 12:21  epaepa

	* grab/sn/tv_grab_sn: Patch from Staffen Malmgren.  Here's his
	  description:

	  The following patch fixes three bugs concerning the --configure
	  mode of tv_grab_sn.

	  The first one is one i introduced myself in my patch from a
	  couple of months ago; the 'all' answer to "add channel FOO?"
	  question would incorrectly NOT add the current channel (but it
	  would add all following channels)

	  The second two were introduced in revisions 1.19, 1.20 or
	  thereabouts (and so does not seem to be present in 0.58). The
	  first error was handling a array reference as though it was
	  scalar (and thus ending up with a lot of "ARRAY(0xABCD1234)" in
	  the configuration questions and config file.	The second was a
	  regression in the HTML scraping of available channels -- along
	  with the valid channels, a bunch of categories would be returned.

	  The patch is tested with both Swedish and Norwegian channels.

2003-03-28 19:28  rmeden

	* doc/README.win32: add warning about using spaces in xmltv.exe
	  path

2003-03-28 14:49  epaepa

	* filter/tv_extractinfo_en, grab/de/tv_grab_de, grab/es/tv_grab_es,
	  grab/fi/tv_grab_fi, grab/it/tv_grab_it.in, grab/sn/tv_grab_sn,
	  grab/uk/tv_grab_uk.in: Benjamin Goldberg on
	  comp.lang.perl.moderated pointed out a better way to check if a
	  module is availabl, setting a compile-time constant rather than a
	  variable.  So the constant Have_bar replaces the variable
	  $have_bar.

2003-03-28 14:34  epaepa

	* filter/Grep.pm: Explicitly list the handlers which cannot be
	  queried on; die if a handler name is not recognized.	This makes
	  sure that when adding a new handler to XMLTV.pm we also decide
	  what should happen with it in XMLTV/Grep.pm.

2003-03-28 14:13  epaepa

	* MANIFEST: Added tv_grab_it to file list.

2003-03-27 16:55  epaepa

	* grab/uk/: channel_ids, channel_pkgs/Freeview, channel_pkgs/adult,
	  channel_pkgs/arts, channel_pkgs/children, channel_pkgs/comedy,
	  channel_pkgs/entertainment, channel_pkgs/factual,
	  channel_pkgs/gratis, channel_pkgs/lifestyle, channel_pkgs/music,
	  channel_pkgs/news, channel_pkgs/regional, channel_pkgs/sport,
	  channel_pkgs/travel, channel_pkgs/NTL/analogue,
	  channel_pkgs/NTL/digital/Base, channel_pkgs/NTL/digital/Family,
	  channel_pkgs/Sky/Family, channel_pkgs/Telewest/Entry,
	  channel_pkgs/Telewest/Essential, channel_pkgs/Telewest/Supreme:
	  Removed a lot of channels which seem to have disappeared from the
	  site.  Based on a patch sent in by Paul McDermott.

2003-03-27 05:01  rmeden

	* choose/tv_check/tv_check: added code to skip episodes without a
	  start time

2003-03-26 17:12  epaepa

	* grab/nz/tv_grab_nz: Added --config-file option.

	  Accept 'yes' answer to y/N question.

	  When reading the config file give an error if the 'channels' line
	  is not present or appears more than once.  Also don't default the
	  channels list if an I/O error occurs; just give an error.

2003-03-22 18:34  epaepa

	* grab/Memoize.pm: Memoize the function in list context as well as
	  scalar context - but using the same cache for both (the MERGE
	  option).

2003-03-20 08:13  jveldhuis

	* grab/na/tv_grab_na: now unlinks temperary file on write failure

2003-03-18 16:11  epaepa

	* todo/TASKS.epa: Another DTD requirement.

2003-03-17 13:44  allena28

	* grab/uk/channel_pkgs/NTL/digital/: Base, Disney, Family, Sports,
	  movies: Updates to NTL packages

2003-03-17 08:41  allena28

	* grab/uk/channel_pkgs/Telewest/: Entry, Essential, Essential_Plus,
	  Supreme: Updated telewest details in channel_pkgs for tv_grab_uk

2003-03-16 19:20  epaepa

	* lib/XMLTV.pm.in: When writing <episode-number>, if the 'system'
	  attribute is not given then default it to 'onscreen'.  This
	  agrees more with what the docs say (and avoids the current bug
	  where it could be written as an empty string if undef).

2003-03-15 10:21  epaepa

	* MANIFEST, Makefile.PL, grab/es/tv_grab_es: Adding Ramon Roca's
	  tv_grab_es grabber for Spain.

2003-03-15 06:19  epaepa

	* todo/TASKS.epa: Another file format idea.

2003-03-15 06:17  epaepa

	* filter/tv_grep.in: Dcoumentation clarification.

2003-03-15 06:03  epaepa

	* filter/tv_grep.in: Generalized the warning about not always using
	  the programme autgenerated tests.

2003-03-15 05:53  epaepa

	* filter/: tv_grep.PL, tv_grep.in: Get the manual page information
	  from the Grep.pm library.  This should make sure the manual page
	  stays in sync with changes to tv_grep (it was inconsistent
	  before).

2003-03-13 15:42  rmeden

	* choose/tv_check/README.tv_check: bring the quick-start guide up
	  to date with current version

2003-03-12 19:22  mnbjhguyt

	* grab/it/tv_grab_it.in: more messed up chars fixed

2003-03-12 18:16  epaepa

	* MANIFEST, Makefile.PL, filter/Grep.pm, filter/tv_grep.in: Moved
	  get_matcher() out of tv_grep into a new library Grep.pm.  This is
	  just so it can later be used in pod generation.

2003-03-12 17:18  epaepa

	* filter/tv_grep.in: Fixed a bug in get_handler() and in the use of
	  the same.  Added some trace messages.

2003-03-11 17:54  epaepa

	* filter/tv_grep.in: get_matcher(): new function to replace
	  %queryable hash.  Returns working subs rather than subs you must
	  call to get more subs.

2003-03-11 17:24  epaepa

	* filter/tv_grep.in: Moved the information of how to match on
	  different data types into the hash %queryable, which is used both
	  to look up matching subroutines and to generate the usage
	  message.  (It is a bit convoluted, with subs returning subs, but
	  that could be fixed later.)  Next I have to fix the manual page
	  generation, which is incorrect.

2003-03-11 12:22  jveldhuis

	* grab/na/tv_grab_na: properly sets new id if description changes,
	  minor changes to warning messages

2003-03-11 12:20  jveldhuis

	* grab/na/ZapListings.pm: better error message

2003-03-10 17:51  epaepa

	* Makefile.PL, README, doc/QuickStart, grab/it/dud_channels,
	  grab/it/tv_grab_it.PL, grab/it/tv_grab_it.in: New grabber
	  tv_grab_it contributed by Davide Chiarini.

2003-03-10 17:51  epaepa

	* grab/uk/tv_grab_uk.PL: Fixed invocation of set_share_dir.pl.

2003-03-10 17:50  epaepa

	* filter/tv_imdb: Escaped a quotation mark to avoid confusing
	  emacs.

2003-03-10 17:33  epaepa

	* lib/set_share_dir.pl: Oops, it didn't work, should now.

2003-03-10 17:27  epaepa

	* MANIFEST, lib/set_share_dir.pl, grab/uk/tv_grab_uk.PL:
	  Generalized tv_grab_uk.PL, which sets the $SHARE_DIR constant in
	  a source file, into the 'library' set_share_dir.pl.

2003-03-10 13:39  epaepa

	* Makefile.PL: Term::ProgressBar version 2 is recommended (tv_imdb
	  uses the new interface).

2003-03-10 13:34  epaepa

	* MANIFEST: Added tv_imdb files and new tv_grab_uk provider channel
	  packages to file list.

2003-03-10 01:59  jveldhuis

	* lib/IMDB.pm: minor adjustment to success/failure message

2003-03-10 01:55  jveldhuis

	* lib/IMDB.pm: adopted use of Term::ProgressBar, and lots of it.
	  better feedback on every part of each of the 5 stages.

	  also error messages for each stage appear in stageX.log files
	  instead of being lost to stderr. The number of error messages is
	  reported at the end of each stage's success or failure.

2003-03-09 12:23  epaepa

	* grab/fi/tv_grab_fi: Log the URL that's being fetched.

2003-03-09 11:55  jveldhuis

	* lib/IMDB.pm: added note to look at Term::ProgressBar

2003-03-09 09:52  epaepa

	* grab/fi/tv_grab_fi: Debugging trace messages.

2003-03-09 08:22  epaepa

	* grab/fi/tv_grab_fi: process_table(): now returns a list of
	  programme hashes to be written, rather than taking the
	  XMLTV::Writer as a parameter.

2003-03-09 08:15  epaepa

	* grab/fi/tv_grab_fi: make_programme_hash(): new name for
	  write_data(), it no longer writes but just returns a hash
	  suitable for XMLTV.pm.

2003-03-09 07:45  epaepa

	* grab/fi/tv_grab_fi: Whitespace.

2003-03-09 07:40  epaepa

	* grab/fi/tv_grab_fi: Fixed documentation of config filename.

2003-03-08 08:41  epaepa

	* xmltv.dtd: Clarified that we use DNS-like names for channels not
	  whole URIs.

2003-03-07 13:58  allena28

	* grab/uk/channel_pkgs/Freeview: Test updated to check CVS is
	  working

2003-03-05 18:56  epaepa

	* Makefile.PL: Install files for new tv_imdb filter.

2003-03-05 16:03  epaepa

	* Makefile.PL: Added warning for possibly-buggy perl versions.

2003-03-04 15:59  jveldhuis

	* lib/IMDB.pm: bugs in db_version:  - directors who did multiple
	  episodes of tv series appeared more than once.   - actresses
	  didn't appear in list of actors :) (thanks Chris L. and Bob Y.)

2003-03-04 13:44  jveldhuis

	* filter/tv_imdb: BUG:	How and what to look up needs to be option
	  driven.

2003-03-04 01:29  jveldhuis

	* filter/tv_imdb: perldoc fixes

2003-03-04 01:23  jveldhuis

	* filter/tv_imdb, lib/IMDB.pm: more major enhancements

2003-03-03 19:43  jveldhuis

	* doc/QuickStart: added tv_imdb

2003-03-03 19:41  jveldhuis

	* lib/IMDB.pm: fixed typo

2003-03-03 19:37  jveldhuis

	* filter/tv_imdb, lib/IMDB.pm: now looks up tv series in imdb.com
	  data added in-memory cache for tv series lookups

2003-03-03 17:58  jveldhuis

	* lib/IMDB.pm: minor fix

2003-03-03 17:57  jveldhuis

	* filter/tv_imdb: fixed typo

2003-03-03 16:19  jveldhuis

	* lib/IMDB.pm: now handles gzipped directors/actors and actresses
	  files

2003-03-03 10:40  jveldhuis

	* filter/tv_imdb: filter to augment listing data with imdb.com
	  plain text files

2003-03-03 10:39  jveldhuis

	* lib/IMDB.pm: first swing at indexing the imdb.com plain text
	  files

2003-03-01 08:13  epaepa

	* grab/sn/tv_grab_sn: extract_channel_data(): new routine holding
	  the HTML-munging code from get_channels().

2003-03-01 07:04  epaepa

	* grab/sn/tv_grab_sn: Added --list-channels option partly based on
	  a patch by Julian Cable.  It requires an additional option --loc
	  to choose channels for Sweden or Norway.

	  Currently the output from --list-channels gives different ids to
	  those in the normal listings, I will fix this soon.

2003-03-01 06:48  epaepa

	* grab/sn/tv_grab_sn: Moved the names of the two countries to
	  %COUNTRIES at the top of the file.

2003-03-01 06:40  epaepa

	* lib/XMLTV.pm.in: Debugging message.

2003-03-01 06:30  epaepa

	* xmltv.dtd: Added a note about ordering of <channel> elements.

2003-03-01 06:27  epaepa

	* grab/uk/tv_grab_uk.in: Write <channel> elements in sorted order.
	  The file format says that order of channels doesn't matter, but
	  it makes files easier to diff if you sort them.

2003-02-28 18:05  epaepa

	* grab/uk/tv_grab_uk.in: Corrected message; sadly, grabbing no
	  longer gets a whole week's listings.

2003-02-26 17:43  epaepa

	* grab/uk/channel_pkgs/NTL/digital/Base: Changed choice.bbc.co.uk
	  to bbc3.bbc.co.uk, I missed this one earlier.

2003-02-26 16:42  epaepa

	* Makefile.PL: Install tv_grab_uk's channel_pkgs, including those
	  in subdirectories.

2003-02-26 16:04  epaepa

	* grab/uk/channel_pkgs/NTL/digital/: Base, base: Renamed base to
	  Base since it is clearly the name of a subscription package (it
	  contains Sky One and other pay channels).

2003-02-26 16:02  epaepa

	* grab/uk/channel_pkgs/: Freeview, NTL/digital/Family,
	  NTL/digital/base, Telewest/Entry: Fixed some channel ids in
	  newly-added subscription packages; removed racingchannel.com;
	  removed packages from NTL/digital/Family that were already in
	  NTL/digital/base.

2003-02-26 15:47  epaepa

	* grab/uk/: channel_ids, channel_pkgs/arts, channel_pkgs/comedy,
	  channel_pkgs/entertainment, channel_pkgs/factual,
	  channel_pkgs/film, channel_pkgs/NTL/digital/Family,
	  channel_pkgs/Sky/Family, channel_pkgs/Telewest/Essential: The
	  site has removed the special 'telewest' and 'ntl' variants of
	  channels.

2003-02-26 15:30  epaepa

	* grab/uk/tv_grab_uk.in: Documentation and formatting changes.

2003-02-26 15:24  epaepa

	* MANIFEST: Removed directory from MANIFEST, it should list only
	  plain files.

2003-02-23 15:48  epaepa

	* grab/uk/: tv_grab_uk.in, channel_pkgs/Freeview,
	  channel_pkgs/NTL/analogue, channel_pkgs/NTL/digital/Disney,
	  channel_pkgs/NTL/digital/Family, channel_pkgs/NTL/digital/Sports,
	  channel_pkgs/NTL/digital/base, channel_pkgs/NTL/digital/movies,
	  channel_pkgs/Sky/Family, channel_pkgs/Sky/Movies_World,
	  channel_pkgs/Sky/Sports, channel_pkgs/Sky/Value,
	  channel_pkgs/Telewest/Entry, channel_pkgs/Telewest/Essential,
	  channel_pkgs/Telewest/Essential_Plus,
	  channel_pkgs/Telewest/Supreme: Added a bunch of new channel
	  packages from Adam Allen.  These correspond to the channel
	  lineups available from different TV providers.

	  Because the new packages naturally arrange themselves into a
	  directory structure, tv_grab_uk now uses File::Find to look for
	  all packages in its directory.  However I haven't yet worked out
	  how to modify the Makefile.PL to install the packages.

2003-02-23 12:25  epaepa

	* todo/TASKS.epa: Another suggestion from my inbox.

2003-02-23 12:19  epaepa

	* todo/TASKS.epa: The file format could specify both release date
	  (a la tv_grab_na) and production date (a la imdb).

2003-02-22 17:10  epaepa

	* grab/fi/tv_grab_fi: Added --list-channels mode partly based on
	  patch by Julian Cable.  Also tidied up some of the code.

2003-02-22 12:33  epaepa

	* todo/TASKS.epa: Maybe we could use the Module::Dist CPAN module
	  to build packages instead of (part of) the 'mkdist' script.

2003-02-21 18:58  epaepa

	* grab/na/tv_grab_na: Updated comment and usage message to say
	  --config-file not --config (thanks to rmeden for spotting).

2003-02-20 23:28  rmeden

	* choose/tv_check/tv_check: prevent warnings when we don't have a
	  stop time by using the start time.

2003-02-20 23:26  rmeden

	* lib/exe_wrap.pl: remove constants when computing timezone.. oops

2003-02-20 17:49  epaepa

	* MANIFEST, filter/tv_grep.in, t/test_filters.t,
	  t/data/tv_grep_on_after_200302161330_all_UTF8.expected,
	  t/data/tv_grep_on_after_200302161330_amp_xml.expected,
	  t/data/tv_grep_on_after_200302161330_amp_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_200302161330_amp_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_200302161330_amp_xml_dups_xml.expected,
	  t/data/tv_grep_on_after_200302161330_amp_xml_empty_xml.expected,
	  t/data/tv_grep_on_after_200302161330_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_200302161330_attrs_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_extract_1_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_extract_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_xml_dups_xml.expected,
	  t/data/tv_grep_on_after_200302161330_clump_xml_empty_xml.expected,
	  t/data/tv_grep_on_after_200302161330_dups_xml.expected,
	  t/data/tv_grep_on_after_200302161330_dups_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_200302161330_dups_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_200302161330_dups_xml_dups_xml.expected,
	  t/data/tv_grep_on_after_200302161330_dups_xml_empty_xml.expected,
	  t/data/tv_grep_on_after_200302161330_empty_xml.expected,
	  t/data/tv_grep_on_after_200302161330_empty_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_200302161330_empty_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_200302161330_empty_xml_dups_xml.expected,
	  t/data/tv_grep_on_after_200302161330_empty_xml_empty_xml.expected,
	  t/data/tv_grep_on_after_200302161330_intervals_xml.expected,
	  t/data/tv_grep_on_after_200302161330_length_xml.expected,
	  t/data/tv_grep_on_after_200302161330_overlap_xml.expected,
	  t/data/tv_grep_on_after_200302161330_simple_xml.expected,
	  t/data/tv_grep_on_after_200302161330_simple_xml_x_whatever_xml.expected,
	  t/data/tv_grep_on_after_200302161330_sort_xml.expected,
	  t/data/tv_grep_on_after_200302161330_test_empty_xml.expected,
	  t/data/tv_grep_on_after_200302161330_test_livre_xml.expected,
	  t/data/tv_grep_on_after_200302161330_test_sort_by_channel_xml.expected,
	  t/data/tv_grep_on_after_200302161330_test_xml.expected,
	  t/data/tv_grep_on_after_200302161330_test_xml_test_xml.expected,
	  t/data/tv_grep_on_after_200302161330_whitespace_xml.expected,
	  t/data/tv_grep_on_after_200302161330_x_whatever_xml.expected,
	  t/data/tv_grep_on_before_200302161330_all_UTF8.expected,
	  t/data/tv_grep_on_before_200302161330_amp_xml.expected,
	  t/data/tv_grep_on_before_200302161330_amp_xml_amp_xml.expected,
	  t/data/tv_grep_on_before_200302161330_amp_xml_clump_xml.expected,
	  t/data/tv_grep_on_before_200302161330_amp_xml_dups_xml.expected,
	  t/data/tv_grep_on_before_200302161330_amp_xml_empty_xml.expected,
	  t/data/tv_grep_on_before_200302161330_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_on_before_200302161330_attrs_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_extract_1_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_extract_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_xml_amp_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_xml_clump_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_xml_dups_xml.expected,
	  t/data/tv_grep_on_before_200302161330_clump_xml_empty_xml.expected,
	  t/data/tv_grep_on_before_200302161330_dups_xml.expected,
	  t/data/tv_grep_on_before_200302161330_dups_xml_amp_xml.expected,
	  t/data/tv_grep_on_before_200302161330_dups_xml_clump_xml.expected,
	  t/data/tv_grep_on_before_200302161330_dups_xml_dups_xml.expected,
	  t/data/tv_grep_on_before_200302161330_dups_xml_empty_xml.expected,
	  t/data/tv_grep_on_before_200302161330_empty_xml.expected,
	  t/data/tv_grep_on_before_200302161330_empty_xml_amp_xml.expected,
	  t/data/tv_grep_on_before_200302161330_empty_xml_clump_xml.expected,
	  t/data/tv_grep_on_before_200302161330_empty_xml_dups_xml.expected,
	  t/data/tv_grep_on_before_200302161330_empty_xml_empty_xml.expected,
	  t/data/tv_grep_on_before_200302161330_intervals_xml.expected,
	  t/data/tv_grep_on_before_200302161330_length_xml.expected,
	  t/data/tv_grep_on_before_200302161330_overlap_xml.expected,
	  t/data/tv_grep_on_before_200302161330_simple_xml.expected,
	  t/data/tv_grep_on_before_200302161330_simple_xml_x_whatever_xml.expected,
	  t/data/tv_grep_on_before_200302161330_sort_xml.expected,
	  t/data/tv_grep_on_before_200302161330_test_empty_xml.expected,
	  t/data/tv_grep_on_before_200302161330_test_livre_xml.expected,
	  t/data/tv_grep_on_before_200302161330_test_sort_by_channel_xml.expected,
	  t/data/tv_grep_on_before_200302161330_test_xml.expected,
	  t/data/tv_grep_on_before_200302161330_test_xml_test_xml.expected,
	  t/data/tv_grep_on_before_200302161330_whitespace_xml.expected,
	  t/data/tv_grep_on_before_200302161330_x_whatever_xml.expected:
	  New feature for tv_grep: --on-before is a kind of opposite to
	  --on-after, it gives all those programmes which have been
	  broadcast (at least partly) at a given data.

2003-02-20 17:27  epaepa

	* lib/exe_wrap.pl: Even more obvious error message for people who
	  mistakenly run 'xmltv.exe --configure' or whatever.

2003-02-20 17:20  epaepa

	* MANIFEST: Added more test case outputs to file list.

2003-02-20 15:42  epaepa

	* t/data/: intervals.xml, tv_cat_all_UTF8.expected,
	  tv_cat_intervals_xml.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_intervals_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_intervals_xml.expected,
	  tv_grep_category_b_intervals_xml.expected,
	  tv_grep_category_e_and_title_f_intervals_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_intervals_xml.expected,
	  tv_grep_channel_id_channel4_com_intervals_xml.expected,
	  tv_grep_channel_name_d_intervals_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_intervals_xml.expected,
	  tv_grep_eval_scalar_keys_5_intervals_xml.expected,
	  tv_grep_i_category_i_title_h_intervals_xml.expected,
	  tv_grep_i_category_i_title_j_intervals_xml.expected,
	  tv_grep_i_last_chance_c_intervals_xml.expected,
	  tv_grep_new_intervals_xml.expected,
	  tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  tv_grep_on_after_2002_02_05_intervals_xml.expected,
	  tv_grep_premiere_intervals_xml.expected,
	  tv_grep_previously_shown_intervals_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_intervals_xml.expected,
	  tv_sort_intervals_xml.expected, tv_to_latex_all_UTF8.expected,
	  tv_to_latex_intervals_xml.expected, tv_to_text_all_UTF8.expected,
	  tv_to_text_intervals_xml.expected: Another new test case, giving
	  all sorts of intervals to test tv_grep's --on-after and
	  forthcoming --on-before.

2003-02-19 18:09  epaepa

	* grab/uk/channel_pkgs/gratis: Noted the difference between two
	  kinds of 'free' channels.

2003-02-19 17:17  epaepa

	* grab/uk/channel_ids: Changed an XMLTV id from
	  'radio-5-mw.bbc.co.uk' to just 'radio-5.bbc.co.uk' because the
	  means of transmission shouldn't really be part of the id unless
	  there are two different stations broadcasting on different media.
	  Radio 5 broadcasts on medium wave only.

2003-02-19 17:11  epaepa

	* filter/tv_sort,
	  t/data/tv_sort_by_channel_test_sort_by_channel_xml.expected:
	  add_stop(): Rewrote using a simpler algorithm: go through all the
	  following programmes and pick the start time if it is later than
	  ours, or the stop time if it exists.	If neither condition is
	  true move on to the next following programme.

	  I don't know why I made it so complex to start with, I think it
	  was because I thought it sensible to start at the end of the
	  sorted list and work backwards.  And it would be sensible, if you
	  only looked at start times.  But we don't any more.

	  This should fix the pesky bug where tv_sort --by-channels doesn't
	  work because add_stop() would break the sortedness of its input
	  programmes list.

2003-02-19 11:37  jveldhuis

	* grab/na/tv_grab_na: backed out moving to ISO-8860 in xml
	  declaration/encoding

2003-02-18 18:07  epaepa

	* filter/tv_sort: pd(): new function, just a wrapper for
	  ParseDate() which dies if the date couldn't be parsed.  This
	  removes the need for an explicit check after every call.  It has
	  a shorter name too.

2003-02-18 17:43  epaepa

	* t/data/tv_sort_test_sort_by_channel_xml.expected: Whoops, forgot
	  to update this expected output file I think.	Well now the
	  expected output from tv_sort for this case is actually sorted
	  :-).

2003-02-18 17:32  epaepa

	* filter/tv_sort, t/data/tv_sort_all_UTF8.expected,
	  t/data/tv_sort_by_channel_all_UTF8.expected: add_stop(): jump
	  through some hoops to avoid making the list of programmes out of
	  order.  This fixes the bug where tv_sort would sometimes generate
	  output that wasn't sorted.  However there are still differences
	  between tv_sort and tv_sort --by-channel on the
	  test_sort_by_channel.xml test case, and I will investigate those
	  further.

2003-02-18 16:49  epaepa

	* filter/tv_sort: check_sorted(): new function to assert that a
	  list is sorted according to a given comparison function.

	  Added calls to check_sorted() after each operation that changes a
	  list of programmes.  This catches the bug in --by-channels, so
	  that tv_sort now dies rather than produce incorrect output.  This
	  is a small improvement.  Next task is to fix the bug.

2003-02-16 13:53  jveldhuis

	* grab/na/tv_grab_na: dates in xml output header is now ISO-8861
	  compliant

2003-02-16 12:51  jveldhuis

	* grab/na/tv_grab_na: fixed pod and now --list-channels produces
	  xmltv xml

2003-02-16 11:44  epaepa

	* t/data/: tv_cat_all_UTF8.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_sort_by_channel_test_sort_by_channel_xml.expected,
	  tv_to_latex_all_UTF8.expected: Oops, I somehow forgot to add
	  test_sort_by_channel.xml's contribution to some of the expected
	  all_UTF8 files, and didn't make the expected output from tv_sort
	  --by-channel on that file the same as that from tv_sort.

2003-02-16 11:20  epaepa

	* t/test_filters.t: Moved tv_sort --by-channel into the main body
	  of tests, since it has a known bug, and moved a few other
	  commands out into the 'full' list of tests to keep 'make test'
	  relatively quick.

2003-02-16 11:10  epaepa

	* t/data/: test_sort_by_channel.xml,
	  tv_cat_test_sort_by_channel_xml.expected,
	  tv_extractinfo_en_test_sort_by_channel_xml.expected,
	  tv_grep_a_test_sort_by_channel_xml.expected,
	  tv_grep_category_b_test_sort_by_channel_xml.expected,
	  tv_grep_category_e_and_title_f_test_sort_by_channel_xml.expected,
	  tv_grep_category_g_or_title_h_test_sort_by_channel_xml.expected,
	  tv_grep_channel_id_channel4_com_test_sort_by_channel_xml.expected,
	  tv_grep_channel_name_d_test_sort_by_channel_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_test_sort_by_channel_xml.expected,
	  tv_grep_eval_scalar_keys_5_test_sort_by_channel_xml.expected,
	  tv_grep_i_category_i_title_h_test_sort_by_channel_xml.expected,
	  tv_grep_i_category_i_title_j_test_sort_by_channel_xml.expected,
	  tv_grep_i_last_chance_c_test_sort_by_channel_xml.expected,
	  tv_grep_new_test_sort_by_channel_xml.expected,
	  tv_grep_on_after_2002_02_05_test_sort_by_channel_xml.expected,
	  tv_grep_premiere_test_sort_by_channel_xml.expected,
	  tv_grep_previously_shown_test_sort_by_channel_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_test_sort_by_channel.expected,
	  tv_sort_by_channel_test_sort_by_channel_xml.expected,
	  tv_sort_test_sort_by_channel_xml.expected,
	  tv_to_latex_test_sort_by_channel_xml.expected,
	  tv_to_text_test_sort_by_channel_xml.expected: Discovered a
	  strange bug where tv_sort --by-channel produces different output
	  from tv_sort, even when all the programmes in the input have the
	  same channel.  This test case demonstrates it (the expected
	  output from tv_sort and tv_sort --by-channel is the same for the
	  input test_sort_by_channel.xml, but the actual outputs currently
	  differ.)

2003-02-16 10:18  epaepa

	* filter/tv_sort: Removed the global %orig_order and moved the
	  'make the sort stable' stuff into a new routine
	  make_stable_sort_function(), which can be applied to
	  \&programme_cmp and a list of programmes, or anything else to
	  that matter.	Now the sorting for --by-channel is also a stable
	  sort.

	  Hmm, this didn't fix the bug I was hoping to fix, still, none of
	  the other tests break and it seems like a good thing.

2003-02-16 09:42  epaepa

	* filter/tv_sort: Made a note that perl 5.8 has a use sort
	  'stable'; pragma and we should make use of that if available.  I
	  won't implement it until I have a perl5.8-equipped box to test
	  with.

2003-02-16 08:41  epaepa

	* grab/na/tv_grab_na: migrateConfigFile(): new routine
	  encapsulating the code that migrates the old config file to the
	  new location.  Instead of being called at the start of the script
	  before parsing options (which incorrectly runs it even when
	  --config-file is given), it now gets called from the configure
	  stage and from the grab stage, but only if $opt_config_file is
	  not set.  This should fix the bug reported by Robert Eden.

2003-02-16 08:33  epaepa

	* grab/na/tv_grab_na: Removed deprecated --config option (use
	  --config-file instead).

2003-02-16 07:58  epaepa

	* xmltv.dtd: Clarified the meaning of start and stop, that they are
	  a half-closed interval.  This is what everybody knew anyway, but
	  it's just as well to have it in writing.

2003-02-16 07:28  epaepa

	* filter/tv_grep.in: Whoops, the documentation of --on-after was
	  completely the opposite of what it does.

2003-02-16 06:25  epaepa

	* grab/nz/tv_grab_nz: Create ~/.xmltv/ if it doesn't already exist.

2003-02-16 06:16  epaepa

	* grab/na/tv_grab_na: Check the return value from close().

2003-02-16 06:03  epaepa

	* grab/na/tv_grab_na: Commented what happens about creating the
	  ~/.xmltv/ directory.

2003-02-15 20:27  epaepa

	* grab/na/tv_grab_na: Moved 'use strict;' to the top of the code so
	  it applies to the whole file.

2003-02-15 20:25  epaepa

	* grab/: fi/tv_grab_fi, na/tv_grab_na, nz/tv_grab_nz,
	  sn/tv_grab_sn, uk/tv_grab_uk.in, uk_rt/tv_grab_uk_rt.in: As
	  mentioned on xmltv-devel, changing the names of all the grabber
	  configuration files to end in '.conf'.  This is so that on
	  Windows, when run from the current directory, they do not try to
	  overwrite themselves.  Thanks to Davide Chiarini for pointing
	  this out.  Also it's probably more obvious what the files are for
	  with '.conf' stuck on the end of the filename.

	  The migration should be automatic, you just get a message saying
	  that the old file is being renamed to end in .conf.  Of course
	  _this_ will go wrong for Windows users running from the current
	  directory, but it's only a short-term measure.

	  Hmm, perhaps some of this config file reading/writing could be
	  factored out.  It's a lot of almost identical code.

2003-02-15 20:10  epaepa

	* grab/nz/tv_grab_nz: If HOME is not set in the environment, look
	  in the current direcetory for the config file.

2003-02-15 19:52  epaepa

	* grab/na/tv_grab_na: Removed another occurrence of ~/.xmltv_na.

2003-02-15 19:48  epaepa

	* grab/nz/tv_grab_nz: Changed strip() method on string object
	  (which is not supported in Python 1.5.2) to use string.strip()
	  function instead.

2003-02-15 19:14  epaepa

	* grab/na/tv_grab_na: Don't migrate config file from old location
	  ~/.xmltv_na, it hasn't been there since 0.4.x.  Besides, I am
	  about to add a new piece of magic config file movement and to
	  have two would be excessive.

2003-02-15 17:40  epaepa

	* mkdist: mkdist now does the uploading to upload.sourceforge.net,
	  though you still have to do the fiddling with SF's web pages by
	  hand.  Made the instructions for that a bit more concise (better
	  to give a URL than to give 'click on X...' instructions IMHO).

2003-02-15 16:54  epaepa

	* mkdist: Added a couple of FIXMEs for code that might be removed.

2003-02-15 16:18  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: Version
	  0.5.8.

2003-02-15 14:26  epaepa

	* grab/uk/: channel_ids, channel_pkgs/entertainment,
	  channel_pkgs/gratis, channel_pkgs/misc, channel_pkgs/sport,
	  channel_pkgs/travel: Updating for some channel changes: BBC3,
	  intermittent problems with Sky Premiership Plus and Setanta,
	  sorting out the mass of travel channels all called 'travel
	  channel'.

2003-02-15 14:11  epaepa

	* grab/uk/tv_grab_uk.in: Whoops - the last version I checked in was
	  totally broken, because overriding $SIG{__DIE__} with something
	  that does an exit(1) will stop eval {} blocks from working.
	  Sorry.

2003-02-15 05:15  epaepa

	* xmltv.dtd: Clarified the meaning of 'width' and 'height'
	  attributes in <icon>.

2003-02-14 19:12  epaepa

	* filter/tv_to_text: Kenneth Pronovici sent me a manual page
	  (actually it is almost the same as tv_to_latex's manpage, which
	  makes sense).

2003-02-11 00:23  rmeden

	* choose/tv_check/tv_check: added  Kenneth J. Pronovici's POD page.
	  Thanks Kenneth!

2003-02-10 11:52  jveldhuis

	* mkdist: clarification

2003-02-10 11:40  jveldhuis

	* mkdist: updated comments at bottom and made some of the cvs
	  commands quieter

2003-02-09 17:00  jveldhuis

	* doc/README.win32: updated to release 0.5.7 and new release notes

2003-02-09 10:21  jveldhuis

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: updated
	  to release 0.5.7 and new release notes

2003-02-09 09:39  jveldhuis

	* grab/na/ZapListings.pm: end times computed by next program start
	  time

2003-02-09 09:38  jveldhuis

	* grab/na/tv_grab_na: stop times may not appear because of zap2it
	  bug

2003-02-09 07:23  epaepa

	* lib/XMLTV.pm.in: Don't assume that every program using this
	  module is distributed as part of xmltv.

2003-02-08 17:27  epaepa

	* todo/TASKS.epa: Added requirement for XMLTV::Ask::Tk.

2003-02-08 16:50  epaepa

	* grab/uk/channel_ids: Dealt with the remaining BBC stations.

2003-02-08 16:49  epaepa

	* grab/uk/tv_grab_uk.in: Tried to give the URL at fault if
	  XMLTV::parse() fails, but catching the exception doesn't seem to
	  work properly (with perl 5.005).  Still, it might do better with
	  a newer version of perl.

2003-02-08 16:23  epaepa

	* grab/uk/channel_ids: Added XMLTV ids for a whole bunch of local
	  radio stations - but there are many more still to do.

2003-02-08 16:22  epaepa

	* grab/uk/tv_grab_uk.in: init_channels(): tidied up the warn() and
	  die() error reporting.  Now the channel_ids filename and line
	  number is automatically prepended to every error message that
	  happens when reading a line of that file.  Even things that I
	  originally thought of as 'internal errors' are really caused by
	  mistakes in that file.

2003-02-07 19:30  epaepa

	* todo/TASKS.epa: Adding Davide Chiarini's requirement that
	  original language can be present, but unknown.

2003-02-07 19:29  epaepa

	* grab/uk/: channel_ids, channel_pkgs/sport: Added channel Setanta
	  Sports.

2003-02-07 19:20  epaepa

	* lib/XMLTV.pm.PL: Don't use IO::File, use the prehistoric typeglob
	  method for passing filehandles, because I suspect that IO::File
	  was triggering a segfault with perl-5.6.0 on some systems.

2003-02-07 19:11  epaepa

	* grab/uk/: channel_ids, channel_pkgs/gratis, channel_pkgs/scifi,
	  channel_pkgs/sport: Removed a couple of defunct channels: The
	  Racing Channel went out of business, and there no longer seems to
	  be a separate NTL version of Sci-Fi.

	  I have left S4C2 because it broadcasts intermittently, for a few
	  days at a time, and it seems to disppear from the site briefly
	  when none of its listings are present.  You'll get a warning
	  about it if you run the grabber during one of these times.

2003-02-06 19:45  jveldhuis

	* grab/na/ZapListings.pm: zap2it changed again :r they removed the
	  "(ends at HH:MM)" endings on the descriptions in the text
	  listings.  For now, we calculate end of program by the following
	  program, and assume the last program of the day ends at midnight.
	  Otherwise, we need to get the next days listings to figure out
	  the true value.

2003-02-02 14:02  jveldhuis

	* grab/na/ZapListings.pm: yet again, we switch horses on user agent
	  name

2003-02-02 14:01  jveldhuis

	* grab/na/tv_grab_na: added bug about zap2it not providing colour
	  coded program categories in text listings

2003-02-02 13:22  epaepa

	* MANIFEST, Makefile.PL, doc/QuickStart, filter/tv_to_text,
	  t/test_filters.t, t/data/tv_to_text_all_UTF8.expected,
	  t/data/tv_to_text_amp_xml.expected,
	  t/data/tv_to_text_amp_xml_amp_xml.expected,
	  t/data/tv_to_text_amp_xml_clump_xml.expected,
	  t/data/tv_to_text_amp_xml_dups_xml.expected,
	  t/data/tv_to_text_amp_xml_empty_xml.expected,
	  t/data/tv_to_text_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_to_text_attrs_xml.expected,
	  t/data/tv_to_text_clump_extract_1_xml.expected,
	  t/data/tv_to_text_clump_extract_xml.expected,
	  t/data/tv_to_text_clump_xml.expected,
	  t/data/tv_to_text_clump_xml_amp_xml.expected,
	  t/data/tv_to_text_clump_xml_clump_xml.expected,
	  t/data/tv_to_text_clump_xml_dups_xml.expected,
	  t/data/tv_to_text_clump_xml_empty_xml.expected,
	  t/data/tv_to_text_dups_xml.expected,
	  t/data/tv_to_text_dups_xml_amp_xml.expected,
	  t/data/tv_to_text_dups_xml_clump_xml.expected,
	  t/data/tv_to_text_dups_xml_dups_xml.expected,
	  t/data/tv_to_text_dups_xml_empty_xml.expected,
	  t/data/tv_to_text_empty_xml.expected,
	  t/data/tv_to_text_empty_xml_amp_xml.expected,
	  t/data/tv_to_text_empty_xml_clump_xml.expected,
	  t/data/tv_to_text_empty_xml_dups_xml.expected,
	  t/data/tv_to_text_empty_xml_empty_xml.expected,
	  t/data/tv_to_text_length_xml.expected,
	  t/data/tv_to_text_overlap_xml.expected,
	  t/data/tv_to_text_simple_xml.expected,
	  t/data/tv_to_text_simple_xml_x_whatever_xml.expected,
	  t/data/tv_to_text_sort_xml.expected,
	  t/data/tv_to_text_test_empty_xml.expected,
	  t/data/tv_to_text_test_livre_xml.expected,
	  t/data/tv_to_text_test_xml.expected,
	  t/data/tv_to_text_test_xml_test_xml.expected,
	  t/data/tv_to_text_whitespace_xml.expected,
	  t/data/tv_to_text_x_whatever_xml.expected: New filter tv_to_text.
	  This is very similar to tv_to_latex (using the same code
	  recently moved into the XMLTV::Summarize module) but outputs
	  plain text.  I originally wrote it when I was on a box that
	  didn't have LaTeX installed.

2003-02-02 13:09  epaepa

	* xmltv.dtd, filter/tv_grep.in, lib/XMLTV.pm.in: Small change to
	  the file format: newlines in element content are not allowed
	  except for <desc>, <premiere> and <last-chance> elements (these
	  contain a 'paragraph' of text).  Changed XMLTV.pm.in to check
	  this.

2003-02-02 13:04  epaepa

	* lib/XMLTV.pm.in: Pod formatting fix.

2003-02-02 12:14  epaepa

	* xmltv.dtd: Fixed the version numbering.

2003-02-02 12:11  epaepa

	* lib/XMLTV.pm.in: chomp() the warning or error message before
	  adding a newline to the end.	This lets you give messages using
	  the normal convention of ending in \n without ending up with a
	  blank line in the output.

2003-02-02 09:14  epaepa

	* t/data/: test_empty.xml, tv_cat_all_UTF8.expected,
	  tv_cat_test_empty_xml.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_test_empty_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_test_empty_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_test_empty_xml.expected,
	  tv_grep_eval_scalar_keys_5_all_UTF8.expected,
	  tv_grep_eval_scalar_keys_5_test_empty_xml.expected,
	  tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  tv_grep_on_after_2002_02_05_test_empty_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_test_empty_xml.expected,
	  tv_sort_test_empty_xml.expected, tv_to_latex_all_UTF8.expected,
	  tv_to_latex_test_empty_xml.expected: Removed a newline from the
	  <title> of one of the test inputs.  I've decided that titles and
	  other similar things should not contain newlines.

2003-02-02 05:50  epaepa

	* grab/fi/tv_grab_fi: Corrected line endings.  Checking out the
	  file on DOSish systems should add the carriage returns anyway, so
	  there is no need to put them in CVS.

2003-02-01 17:28  jveldhuis

	* grab/na/ZapListings.pm: added error message to check postal/zip
	  code when provider form didn't appear. Zap2it doesn't give a nice
	  error message until the second time you type a failed zip code.

2003-02-01 17:26  jveldhuis

	* grab/na/tv_grab_na: fixed usage line length <80

2003-02-01 16:51  jveldhuis

	* grab/na/ZapListings.pm: fixed user-agent to use xmltv/0.5.7a and
	  minor adjust so we get all channels and not just the first 20 -
	  thanks darren <at> vexorg.no-ip.com

2003-02-01 16:48  jveldhuis

	* grab/na/tv_grab_na: fixed some usage failures to exit(1) instead
	  of continuing

2003-02-01 07:37  epaepa

	* grab/sn/tv_grab_sn: The 'just ignore comments' case in
	  configuration file parsing is not needed because the regexps run
	  on each line will strip comments anyway.

2003-01-31 19:24  epaepa

	* todo/TASKS.epa: Added the 'two-phase grab' idea from my inbox.

2003-01-31 18:04  epaepa

	* grab/de/tv_grab_de: Fixed warning (noticed in Debian bug #178692)
	  about memGunzip name used only once, when Compress::Zlib could
	  not be loaded.

2003-01-31 17:59  epaepa

	* grab/de/tv_grab_de: my_gunzip(): Patch from Debian bug #178692 to
	  make call to tempfile() actually work.

2003-01-31 12:50  jveldhuis

	* grab/na/tv_grab_na: fixed release-check message at end of grab

2003-01-31 12:49  jveldhuis

	* grab/na/ZapListings.pm: minor comment removal

2003-01-31 12:17  jveldhuis

	* grab/na/tv_grab_na:  - added --release-check true/false to the
	  command line (default is true)
	     Specify whether or not we should attempt to check + for new
	  releases.
	     tv_grab_na does this by default (scraping the contents of the
	  xmltv project
	     page).
	   - reworked some calls to ZapListings new packaging.

2003-01-31 12:16  jveldhuis

	* grab/na/ZapListings.pm:  - reworked scraping/traversal of all
	  zap2it web site pages
	     - removed all hardcoded cookies
	     - removed all hardcoded zap2it server names
	     - removed all hardcoded url with the exception of
	  www.zapit.com/index
	     - now works by scraping www pages for "defined" forms and
	       then uses them, reusing the same UserAgent so cookie
	  management
	       is completely automatic.
	   - userAgent description is 'Mozilla/5.0' for kicks.
	   - added getCurrentReleaseInfo() that may belong in the XMLTV
	  package
	     instead, but its here for now.
	   - identifies and inserts programmes with title=unknown when
	  program
	     holes appear (including holes that span across day boundaries)
	     (emits warning when hole is filled, if --quiet is not used)
	   - reworked packaging a bit because of new form/traversal
	  mechanisms

2003-01-31 11:45  rmeden

	* choose/tv_check/tv_check: don't crash on no episode match for
	  replay scan

2003-01-28 11:53  jveldhuis

	* grab/na/ZapListings.pm: fixed calls to statusMessage

2003-01-26 16:43  epaepa

	* todo/TASKS.epa: A few todo items fished from my inbox.

2003-01-23 22:07  rmeden

	* choose/tv_check/tv_check_doc.html: documented --DDMM switch.
	  Also edited with Mozilla, so it reformatted it bunch

2003-01-23 21:49  rmeden

	* choose/tv_check/tv_check: added --DDMM switch to optinally use
	  that date format in reports

2003-01-23 00:05  rmeden

	* choose/tv_check/tv_check: use channel-id for dislpaly-name if
	  guide doesn't have a channel section.  index channels after guide
	  instead of before in case channels not predefined set show day to
	  empty string to avoid rare undef fix index name in configure
	  mode, so you can just click on a title

2003-01-21 01:33  rmeden

	* lib/exe_wrap.pl: Date::Manip doesn't always deal with numeric
	  time zones correctly.  They have fixed their code, but it's not
	  in wide distribution.  For now, when exe_xmit tries to guess the
	  time zone, let it use some named values.

	  This will be fased out in a few months, once Date::Manip is
	  distributed.

2003-01-19 22:48  rmeden

	* choose/tv_check/tv_check: allow MYREPLAY devices to be included
	  in specialy ReplayTV fuzzy logic checks fix misleading "wrong
	  show in slot" when there is really "NO GUIDE DATA" (hole)

2003-01-19 22:46  rmeden

	* Makefile.PL: specify module path to PerlApp so local libraries
	  (not installed) are used when building xmltv.exe

2003-01-19 13:59  epaepa

	* MANIFEST, Makefile.PL, filter/tv_to_latex, lib/Summarize.pm:
	  Factored out most of tv_to_latex's code into a new library
	  XMLTV::Summarize.

2003-01-19 12:36  jveldhuis

	* grab/na/tv_grab_na: provider description or provider id changes
	  are recoverable during a grab so long at least one matches for
	  the given list of providers for the postal/zip code.

	  during configure stage if the id changes (but the description
	  matches exactly) it gets auto-updated.

2003-01-19 07:37  epaepa

	* todo/TASKS.epa: A couple more todo items.

2003-01-19 03:08  rmeden

	* Makefile.PL: when making windows_dist, don't run UNIX2DOS against
	  a JPG file!

2003-01-18 18:43  jveldhuis

	* grab/na/tv_grab_na: added bug about provider_id matches and
	  provider descriptions

2003-01-18 18:02  epaepa

	* grab/uk/: channel_ids, channel_pkgs/entertainment,
	  channel_pkgs/factual, channel_pkgs/gratis,
	  channel_pkgs/lifestyle, channel_pkgs/music,
	  channel_pkgs/regional: Added some new channels which appeared on
	  the site, both to channel_ids and to an appropriate package or
	  two.	This includes reinstating einstein.tv.

2003-01-18 17:57  epaepa

	* grab/uk/channel_pkgs/not_england: Trying to be slightly less
	  opinionated in my comments.

2003-01-18 17:31  epaepa

	* grab/uk/tv_grab_uk.in: Changes to cope with the site's listings
	  going from 7 days to 4.  First, cope more gracefully when the
	  expected number of days is not present: if every page for a given
	  day is empty, assume that this day and subsequent ones are
	  missing from the site.  This saves a few hits and some verbosity
	  in warning messages.

	  Second, I have reduced the number of days fetched by default to 4
	  (the new maximum).

2003-01-18 13:58  epaepa

	* grab/uk/tv_grab_uk.in: Fixed the warning about 'no channel
	  package or region includes X' - I had forgotten that
	  %channel_pkgs now stores channel objects rather than XMLTV ids.

2003-01-18 13:52  epaepa

	* grab/uk/channel_pkgs/children: Removed two channels from this
	  package after they disappeared from the site and from
	  channel_ids.

2003-01-18 13:51  epaepa

	* grab/uk/channel_ids: Removed a couple of channels which have
	  disappeared from the site.

2003-01-18 11:39  rmeden

	* lib/exe_wrap.pl: fix --share directory processing for those apps
	  that need it.

2003-01-15 21:39  chunkygoodness

	* grab/nz/tv_grab_nz: Removed BUG entry from manpage relating to
	  primetv - no longer relevant now that we are using the ontv url

2003-01-15 15:51  jveldhuis

	* grab/na/tv_grab_na: now sets default system=onscreen for
	  episode-num nodes

2003-01-12 06:13  epaepa

	* mkdist: Rewrote the instructions for uploading a new release to
	  Sourceforge, adding an explanation of what the release notes and
	  changelog should be.

2003-01-11 13:39  epaepa

	* grab/uk/: channel_ids, channel_pkgs/adult, channel_pkgs/children,
	  channel_pkgs/classics, channel_pkgs/comedy,
	  channel_pkgs/entertainment, channel_pkgs/factual,
	  channel_pkgs/film, channel_pkgs/gratis, channel_pkgs/misc,
	  channel_pkgs/sport: Guided by the new warnings in tv_grab_uk, I
	  have removed a lot of defunct channels or defunct duplicates from
	  the channel_ids and packages.

2003-01-11 12:14  epaepa

	* grab/uk/tv_grab_uk.in: When prompting for channels to install,
	  show the user the display name not the XMLTV id.  Better warning
	  if a channel object doesn't have a main display name (shouldn't
	  happen, but it might).

	  init_channels(): set the type of the newly-created channel to
	  'tentative'.	Then if the type is not updated later, we know that
	  this channel appears only in the config file and warn about its
	  removal.

	  get_channel_pkgs(): the hash mapping package name to channels now
	  gives a list of channel objects rather than just the XMLTV ids.
	  We also take the opportunity to check that the XMLTV id in the
	  package file is known (this means that any channel mentioned in a
	  package must also be listed in the channel_ids file so it is
	  known about this early, but that shouldn't be a problem).

	  read_channels_page(): once we've read the channesl from the site
	  we know that any channel objects we haven't updated are 'phantom'
	  channels mentioned in the config file but not found on the site.
	  This function now removes them from the global @ch_all list and
	  from the channel packages set earlier (and complains about it).

2003-01-10 20:17  epaepa

	* Makefile.PL: Corrected LC_ALL detection bug noticed by Robert
	  Boardman; made the message printed more sentenceful.
	  (sententious?  sentent?)

2003-01-08 01:02  rmeden

	* Makefile.PL: fix some bugs in the make windows_dist function

2003-01-07 18:22  jveldhuis

	* mkdist: updated some of the ftp related hints at the end

2003-01-07 12:17  jveldhuis

	* README, doc/README.win32: added blub about some recent changes to
	  the _na grabber

2003-01-07 11:42  jveldhuis

	* grab/na/ZapListings.pm: update form variables required by zap2it

2003-01-06 17:17  chunkygoodness

	* grab/nz/tv_grab_nz: Fixed bug in regular expression that wouldn't
	  match programs with hyper links in their names

2003-01-06 02:32  chunkygoodness

	* grab/nz/tv_grab_nz: Changed parser to use ontv.nzoom.com for all
	  channels - this means that there are descriptions for all
	  channels now, and makes maintenance easier (only one website to
	  track for changes)

2003-01-03 02:30  rmeden

	* choose/tv_check/tv_check: Minor tweak to code that reuses
	  previous show file options during MyReplayTV processing.

2003-01-02 16:46  epaepa

	* Makefile.PL, lib/XMLTV.pm.in: Version 0.5.6.

2003-01-01 17:27  epaepa

	* doc/README.win32: Updated for 0.5.6.	We don't currently know how
	  to fix the % shell metacharacter problem.

2003-01-01 17:03  epaepa

	* README: Updated for 0.5.6.

2003-01-01 16:15  epaepa

	* grab/na/tv_grab_na: Made the configuration file parsing work if
	  there is no version line.  This is partly to make it work with a
	  conf file the user sent me, and partly because the version line
	  does look like a comment.

2003-01-01 14:27  epaepa

	* MANIFEST: Removed file README.tv_check.

2003-01-01 14:10  epaepa

	* MANIFEST, Makefile.PL, README, doc/QuickStart,
	  grab/fi/tv_grab_fi: Adding Matti Arias's tv_grab_fi for Finnish
	  listings.  Hopefully this commit should include all changes
	  needed to add it to the distribution.

	  Also mentioned tv_grab_uk_rt (the ugly sister of tv_grab_uk) in
	  the QuickStart guide, for completeness.

2003-01-01 13:59  epaepa

	* doc/QuickStart: Rephrased the introduction to grabbers, and added
	  mention of tv_split.

2003-01-01 13:51  epaepa

	* README.tv_check: Removing this copy of README.tv_check because it
	  is an exact duplicate (or was until recent changes) of the copy
	  in choose/tv_check/.

2003-01-01 13:49  epaepa

	* grab/uk/channel_pkgs/gratis: Bloomberg TV is no longer gratis.

2003-01-01 13:46  epaepa

	* choose/tv_check/README.tv_check: Make it slightly more explicit
	  that you can run any grabber and not just tv_grab_na... it was
	  probably clear enough already, but what the heck.

2002-12-29 11:55  rmeden

	* choose/tv_check/tv_check: work around a bug where Date::Manip
	  doesn't deal with appended TZ correctly.  The problem has been
	  fixed, but there isn't a real benefit to having the TZ in the
	  times, so dropping them instead adding a later Date::Manip
	  dependency.

2002-12-26 15:05  epaepa

	* doc/README.win32: Oops, I accidentally committed bogus
	  instructions for Windows users.  We're still waiting for a
	  solution to the % problem.

2002-12-26 14:54  epaepa

	* MANIFEST, Makefile.PL, filter/tv_split: Added an implementation
	  of tv_split.	This one does not require the input to be sorted.
	  It tries to be clever and keep one open XMLTV::Writer for each
	  output file, so programmes can be written out as they are read
	  in, but I had to add workaround code for the case when the
	  process runs out of open filehandles.  I haven't added tv_split
	  to the test suite but it seems to work.

2002-12-26 14:52  epaepa

	* lib/XMLTV.pm.in: Added a warning for a common mistake in using
	  XMLTV::Writer - passing a filename where a filehandle is
	  expected.  At least, it's a mistake that I make often.

2002-12-26 09:49  epaepa

	* lib/XMLTV.pm.in: Added some runtime checks to make sure the
	  various XMLTV::Writer methods are called in the right order.

2002-12-25 16:51  epaepa

	* choose/tv_check/tv_check, choose/tv_check/tv_check_doc.html,
	  doc/README.win32, grab/na/ZapListings.pm, grab/sn/tv_grab_sn,
	  grab/uk/tv_grab_uk.in, lib/XMLTV.pm.in: After I found that perl
	  was complaining when run in a UTF-8 locale, I decided to purge
	  all non-ASCII characters from the source code.  The characters
	  were mostly in the code in order to purge bad characters from the
	  web pages fetched :-P.  Now we just use \xAB style hex escapes.

	  Also tidied up the tv_check documentation, it previously had some
	  Microsoftisms including the notorious 'smart quotes' and lumps of
	  non-breaking spaces used for layout.

2002-12-25 16:46  epaepa

	* todo/TASKS.epa: A user pointed out the site satlogo.com which has
	  logos for many channels.  Some of the grabbers might use this
	  data to add <icon> elements.

2002-12-25 12:39  epaepa

	* grab/na/ZapListings.pm: Use URI::new_abs() to make icon URLs
	  absolute, even if the site decides to serve relative URLs in the
	  HTML.

2002-12-23 15:23  epaepa

	* analyse_tvprefs/analyse_tvprefs, choose/tv_pick/tv_pick_cgi,
	  grab/uk/tv_grab_uk.in, grab/uk_rt/tv_grab_uk_rt.in: Fixed several
	  places with configuration-file-parsing code.	You need to strip
	  comments _before_ stripping trailing spaces, otherwise a space
	  before a comment is left.  Hmm, perhaps this should be factored
	  out.

2002-12-23 15:18  epaepa

	* grab/uk/channel_pkgs/gratis: Updated the 'gratis' channel package
	  with those which are currently available on Sky Digital.

2002-12-23 14:57  epaepa

	* grab/uk/channel_ids: Added some comments.

2002-12-23 14:14  epaepa

	* grab/uk/tv_grab_uk.in: Small code simplification.

2002-12-20 21:47  chunkygoodness

	* grab/nz/tv_grab_nz: Fixed tv1 regular expression - the source had
	  changed

2002-12-18 13:05  epaepa

	* grab/uk/tv_grab_uk.in: Small code tidy to remove redundant
	  @all_chs variable.

2002-12-18 12:50  epaepa

	* grab/uk/tv_grab_uk.in: Reintroduced the distinction between
	  national and local radio.  Now you can choose at configuration to
	  download all 25 (currently) national radio stations.

2002-12-18 11:47  epaepa

	* MANIFEST, Makefile.PL, grab/uk/Ananova_Channel.pm,
	  grab/uk/README, grab/uk/channel_ids, grab/uk/tv_grab_uk.in,
	  grab/uk_rt/tv_grab_uk_rt.in: Finally got rid of the
	  Ananova_Channel library for tv_grab_uk.  It seemed like a good
	  idea at the time, providing an OO abstraction around the list of
	  channels and enforcing various properties, but it just became too
	  complex and unwieldy.

	  Actually, so far all I've done is move code out of
	  Ananova_Channel.pm and put it directly into tv_grab_uk.in.  But
	  next I can start cleaning up.

2002-12-18 11:39  epaepa

	* t/data/: tv_grep_previously_shown_all_UTF8.expected,
	  tv_grep_previously_shown_amp_xml.expected,
	  tv_grep_previously_shown_amp_xml_amp_xml.expected,
	  tv_grep_previously_shown_amp_xml_clump_xml.expected,
	  tv_grep_previously_shown_amp_xml_dups_xml.expected,
	  tv_grep_previously_shown_amp_xml_empty_xml.expected,
	  tv_grep_previously_shown_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  tv_grep_previously_shown_attrs_xml.expected,
	  tv_grep_previously_shown_clump_extract_1_xml.expected,
	  tv_grep_previously_shown_clump_extract_xml.expected,
	  tv_grep_previously_shown_clump_xml.expected,
	  tv_grep_previously_shown_clump_xml_amp_xml.expected,
	  tv_grep_previously_shown_clump_xml_clump_xml.expected,
	  tv_grep_previously_shown_clump_xml_dups_xml.expected,
	  tv_grep_previously_shown_clump_xml_empty_xml.expected,
	  tv_grep_previously_shown_dups_xml.expected,
	  tv_grep_previously_shown_dups_xml_amp_xml.expected,
	  tv_grep_previously_shown_dups_xml_clump_xml.expected,
	  tv_grep_previously_shown_dups_xml_dups_xml.expected,
	  tv_grep_previously_shown_dups_xml_empty_xml.expected,
	  tv_grep_previously_shown_empty_xml.expected,
	  tv_grep_previously_shown_empty_xml_amp_xml.expected,
	  tv_grep_previously_shown_empty_xml_clump_xml.expected,
	  tv_grep_previously_shown_empty_xml_dups_xml.expected,
	  tv_grep_previously_shown_empty_xml_empty_xml.expected,
	  tv_grep_previously_shown_length_xml.expected,
	  tv_grep_previously_shown_overlap_xml.expected,
	  tv_grep_previously_shown_simple_xml.expected,
	  tv_grep_previously_shown_simple_xml_x_whatever_xml.expected,
	  tv_grep_previously_shown_sort_xml.expected,
	  tv_grep_previously_shown_test_empty_xml.expected,
	  tv_grep_previously_shown_test_livre_xml.expected,
	  tv_grep_previously_shown_test_xml.expected,
	  tv_grep_previously_shown_test_xml_test_xml.expected,
	  tv_grep_previously_shown_whitespace_xml.expected,
	  tv_grep_previously_shown_x_whatever_xml.expected: Added
	  <previously-shown /> to some test data so I can test the new
	  features in tv_grep.	I thought these changes were committed
	  earlier.  Oh well.

2002-12-17 16:15  epaepa

	* grab/uk/: Ananova_Channel.pm, tv_grab_uk.in: Code reorganization;
	  gradually removing calls to the Ananova_Channel methods.

2002-12-17 11:41  epaepa

	* grab/uk/tv_grab_uk.in: Whoops - committed broken development code
	  by mistake, undoing.

2002-12-17 10:32  epaepa

	* MANIFEST, filter/tv_grep.PL, filter/tv_grep.in,
	  grab/uk/tv_grab_uk.in, t/test_filters.t: New feature for tv_grep:
	  there are some elements which cannot be fully queried, but now at
	  least you can query whether they are present or not.	For
	  example,

	  % tv_grep --previously-shown ''

	  will find programmes that are repeats.

2002-12-17 10:16  epaepa

	* t/data/: simple.xml, tv_cat_all_UTF8.expected,
	  tv_cat_simple_xml.expected,
	  tv_cat_simple_xml_x_whatever_xml.expected,
	  tv_cat_x_whatever_xml.expected,
	  tv_extractinfo_en_all_UTF8.expected,
	  tv_extractinfo_en_simple_xml.expected,
	  tv_extractinfo_en_simple_xml_x_whatever_xml.expected,
	  tv_extractinfo_en_x_whatever_xml.expected,
	  tv_grep_a_all_UTF8.expected, tv_grep_a_simple_xml.expected,
	  tv_grep_a_simple_xml_x_whatever_xml.expected,
	  tv_grep_a_x_whatever_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_simple_xml.expected,
	  tv_grep_category_g_or_title_h_simple_xml_x_whatever_xml.expected,
	  tv_grep_category_g_or_title_h_x_whatever_xml.expected,
	  tv_grep_channel_id_channel4_com_all_UTF8.expected,
	  tv_grep_channel_id_channel4_com_simple_xml.expected,
	  tv_grep_channel_id_channel4_com_simple_xml_x_whatever_xml.expected,
	  tv_grep_channel_id_channel4_com_x_whatever_xml.expected,
	  tv_grep_eval_scalar_keys_5_all_UTF8.expected,
	  tv_grep_eval_scalar_keys_5_simple_xml.expected,
	  tv_grep_eval_scalar_keys_5_simple_xml_x_whatever_xml.expected,
	  tv_grep_eval_scalar_keys_5_x_whatever_xml.expected,
	  tv_grep_i_category_i_title_h_all_UTF8.expected,
	  tv_grep_i_category_i_title_h_simple_xml.expected,
	  tv_grep_i_category_i_title_h_simple_xml_x_whatever_xml.expected,
	  tv_grep_i_category_i_title_h_x_whatever_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_simple_xml.expected,
	  tv_sort_by_channel_simple_xml_x_whatever_xml.expected,
	  tv_sort_by_channel_x_whatever_xml.expected,
	  tv_sort_simple_xml.expected,
	  tv_sort_simple_xml_x_whatever_xml.expected,
	  tv_sort_x_whatever_xml.expected, x-whatever.xml: Added
	  <previously-shown /> to some of the sample data so I can later
	  test grepping it.

2002-12-17 08:01  epaepa

	* grab/uk/: channel_ids, tv_grab_uk.in: Added a couple of short
	  channel names, Removed a lone $Log::TraceMessages::On which was
	  causing a warning.  Changed a progress bar message to the more
	  accurate 'writing'.

2002-12-17 07:41  epaepa

	* lib/exe_wrap.pl: Untested change to pass a --share argument to
	  the grabbers which need it.

2002-12-16 19:04  epaepa

	* grab/uk/tv_grab_uk.in: The old way of doing 'miscellaneous fixes'
	  was horribly unscalable.  I'm committing a change which fiddles
	  with and writes programmes more linearly; I hope it works since
	  it's not yet tested.

2002-12-16 17:50  epaepa

	* grab/uk/tv_grab_uk.in: Handle EOF at 'enter a channel name' more
	  cleanly (I have yet to add code to handle undef returned from
	  XMLTV::Ask routines).  Fixed channel name comparison - now it
	  should be a substring rather than regexp match, which means the
	  user can't crash the program by typing in a bad regexp.

2002-12-16 17:47  epaepa

	* grab/uk/channel_ids: Added a couple of extra display names
	  corresponding to what the Sky programme guide shows.

2002-12-16 17:46  epaepa

	* lib/Ask.pm: Made more robust against input-reading failures (such
	  as EOF).  Now it is documented that if the input could not be
	  read, undef is returned.

2002-12-14 10:42  epaepa

	* grab/uk/tv_grab_uk.in: Change @XMLTV::Channel_Handlers when
	  parsing the regions page as well as when parsing the channels
	  page.  This is because each <region> contains <channel> elements
	  and they have Ananova's special <distribution> element.  I had
	  forgotten to do this before but didn't notice because there was
	  no warning.

2002-12-14 10:39  epaepa

	* lib/XMLTV.pm.in: Added some more trace statements.

2002-12-14 06:13  epaepa

	* grab/nz/tv_grab_nz: Changed some string functions to make them
	  work with Python 1.5.2.

2002-12-13 18:11  epaepa

	* Makefile.PL: Cahnged the Python version checking to primt
	  sys.hexversion because the Python 1.5.2 interpreter doesn't
	  understand -V.

2002-12-13 18:06  epaepa

	* Makefile.PL: Formatting change for perl 5.005.

2002-12-13 09:32  epaepa

	* README, doc/README.win32: Staffan Malmgren's channel-selection
	  patch to tv_grab_sn has made it into the 0.5.5 release.

2002-12-13 09:26  epaepa

	* grab/nz/tv_grab_nz: Changed configuration behaviour to be more
	  like the other grabbers (just more chatter, really).

2002-12-12 20:52  chunkygoodness

	* grab/nz/tv_grab_nz: Modifed the manpage slightly, as well as
	  added the initial support for the --configure option to select
	  which channels are to be downloaded.

2002-12-12 20:05  epaepa

	* grab/sn/tv_grab_sn: Staffan Malmgren's patch (with a few changes)
	  to add channel selection to --configure (and fix grabbing the
	  list of channels in the first place).

2002-12-12 19:56  epaepa

	* attic/tv_grab_nl, filter/tv_extractinfo_en,
	  grab/uk/tv_grab_uk.in, lib/Ask.pm, lib/XMLTV.pm.in: Global style
	  fix for uncuddled elses as mandated by 'perlstyle'.  A pity that
	  Emacs keeps putting them back again.

2002-12-12 19:10  epaepa

	* grab/uk/tv_grab_uk.in: Fixed splicing bug noticed by Neil
	  Trodden.

2002-12-12 11:49  epaepa

	* lib/exe_wrap.pl: Friendlier error message for tv_grab_nz.

2002-12-12 11:47  epaepa

	* lib/exe_wrap.pl: Generalized this a bit so that each command name
	  has a lump of Perl code associated with it, so we can do exciting
	  things like print a warning message for tv_grab_nz :-).

2002-12-12 07:19  epaepa

	* Makefile.PL, README, doc/QuickStart, doc/README.win32,
	  lib/XMLTV.pm.in: Updated for the forthcoming 0.5.5 release.  But
	  I don't know what to do about tv_grab_nz on Windows.

2002-12-12 06:40  epaepa

	* grab/nz/tv_grab_nz: Tidied the usage message.  Added pod
	  documentation (perhaps a bit odd in a Python program, but it's
	  the easiest way to get a manual page).

2002-12-11 17:56  epaepa

	* README: Added Python to the list of dependencies, at least for
	  tv_grab_nz.

2002-12-11 17:20  epaepa

	* MANIFEST: Added tv_grab_nz to the file list.

2002-12-11 17:18  epaepa

	* Makefile.PL: Now as well as testing module prerequisites with the
	  'prereqs' key, you can specify arbitrary bits of code to be run
	  under 'special_prereqs', with version number comparison as for
	  modules.

	  I've used this to add tv_grab_nz with a dependency on Python
	  1.5.2 or later.

2002-12-11 12:27  epaepa

	* grab/nz/tv_grab_nz: Adding Andre Renaud's New Zealand grabber.
	  Now to arrange the necessary installation gubbins.

2002-12-11 00:26  jveldhuis

	* grab/na/ZapListings.pm: escape @ in messages - thanks Walter D.

2002-12-10 19:04  epaepa

	* grab/uk/tv_grab_uk.in: I had code to add a handler 'distribution'
	  to channel elements, but forgot that this would apply on output
	  as well as input.  After XMLTV.pm.in got fixed I started getting
	  missing key warnings.  So now this extra handler is added only
	  while parsing.

	  Some mysterious undefined values that seem to come out of nowhere
	  have been worked around.  Hopefully they will not occur unless
	  the data from the site is faulty.

2002-12-10 18:58  epaepa

	* grab/uk/Ananova_Channel.pm: Slightly cleaner undefined value
	  warning.

2002-12-10 18:55  epaepa

	* lib/XMLTV.pm.in: Some runtime type errors during writing XML that
	  would previously have aborted the program are now just warnings,
	  with the particular element affected being skipped.

	  A new private routine check_multiplicity() makes sure that a hash
	  has the mandatory elements required by a set of handlers.  The
	  new private routine write_element_with_handlers() calls
	  check_multiplicity() before opening the element, so there is less
	  chance of writing invalid XML from bad Perl data structures.

2002-12-10 18:14  epaepa

	* Makefile.PL: The location of manual pages varies from one system
	  to another.  But I think to keep things simple, for XMLTV they
	  can always be in PREFIX/share/man/ which is the FHS-approved
	  place.

2002-12-08 05:58  epaepa

	* Makefile.PL: Corrected the message given when UTF-8 problems are
	  detected: updating Date::Manip won't fix it, but changing your
	  locale will.	Thanks to Derek J. Kalweit for bringing this to my
	  attention.

2002-12-05 16:50  jveldhuis

	* grab/na/ZapListings.pm: spill out status message when we find
	  star ratings > 4 star - did zap2it change things ?

2002-12-05 16:42  jveldhuis

	* grab/na/ZapListings.pm: properly identify star-ratings given by
	  ***+ instead of ***1/2 for 3.5 star ratings

2002-12-01 12:14  epaepa

	* Makefile.PL, README, doc/README.win32, lib/XMLTV.pm.in: Version
	  0.5.4.

2002-12-01 11:58  epaepa

	* analyse_tvprefs/analyse_tvprefs: Updated link to top 3000 words
	  in the BNC; now it points to my mirror of that page.

2002-12-01 11:22  epaepa

	* grab/uk/: channel_ids, channel_pkgs/adult, channel_pkgs/arts,
	  channel_pkgs/children, channel_pkgs/classics,
	  channel_pkgs/comedy, channel_pkgs/entertainment,
	  channel_pkgs/factual, channel_pkgs/film, channel_pkgs/lifestyle,
	  channel_pkgs/music, channel_pkgs/news, channel_pkgs/scifi,
	  channel_pkgs/sport, channel_pkgs/travel: Added channel ids for
	  some new channels and added them to the appropriate packages.

2002-12-01 11:21  epaepa

	* grab/uk/Ananova_Channel.pm: Fixing an undefined value warning.

2002-12-01 05:12  epaepa

	* mkdist: Now there are two readme files the mkdist reminder needs
	  to mention them both.

2002-12-01 05:04  epaepa

	* grab/sn/tv_grab_sn: Instead of looking for a table in a
	  particular position, we examine all tables on the page and find
	  the one that looks most like it contains listings.  This has
	  fixed the failure with Norwegian listings.

2002-11-30 17:33  epaepa

	* grab/sn/tv_grab_sn: Working out how to fix the grabber for a new
	  site layout.	Added some trace code with Log::TraceMessages and
	  one more error check.

2002-11-28 13:37  jveldhuis

	* grab/na/: ZapListings.pm, tv_grab_na: new rework to support new
	  zap2it cookies etc Special thanks to Stephen Bain for helping me
	  play catch-up with zap2it site changes.

2002-11-24 00:10  rmeden

	* doc/README.win32: Mention the fact that TZ can be determined
	  automatically.

2002-11-23 19:04  epaepa

	* Makefile.PL: Version 0.5.3.

2002-11-23 18:48  epaepa

	* lib/XMLTV.pm.in: Bumping version to 0.5.3.  It seems that the
	  version of the XMLTV module follows that of the xmltv project.

2002-11-23 18:47  epaepa

	* doc/README.win32: Updated the Win32 instructions.  It's nice not
	  to have to mention arcane details of Perl module versions.  The
	  list of contributors could be done better, I haven't worked out
	  the best way of giving credit in the docs.

2002-11-23 18:29  epaepa

	* README: Updated for version 0.5.3; I've tried to summarize the
	  changes but focusing mostly on the emergency tv_grab_na fix.
	  Also I've attempted to explain the Date::Manip problems on Red
	  Hat 8... still waiting for a response from the module's developer
	  on this.

2002-11-23 15:53  epaepa

	* grab/de/tv_grab_de: Better error message when the site appears to
	  be out of date.  This is the signal for me to bring up the page
	  in my web browser and hit 'reload' to kick my proxy server into
	  getting a newer version of the page :-P.

2002-11-23 15:44  epaepa

	* grab/de/tv_grab_de: Added a warning message if --configure is
	  given (this grabber needs and supports no configuration stage).

2002-11-22 11:09  jveldhuis

	* grab/na/ZapListings.pm: now uses tvlistings.zap2it.com as its
	  base instead of tvlistings2 ??

2002-11-19 14:45  epaepa

	* grab/sn/tv_grab_sn: Changed brief description of tv_grab_sn to
	  mention both Sweden _and_ Norway :-).

2002-11-19 11:13  jveldhuis

	* grab/na/tv_grab_na: fixed errrorMessage to be errorMessage

2002-11-19 03:07  epaepa

	* Makefile.PL: HTML::TableExtract 1.08 or later required (found by
	  Kenneth Pronovici).

2002-11-18 17:53  epaepa

	* filter/tv_extractinfo_en: multipart_split_desc(): be more
	  discriminating before deciding it's the Radio Times style.  Look
	  for the word 'at' as well as 'with'.

2002-11-18 14:52  epaepa

	* grab/: de/tv_grab_de, sn/tv_grab_sn, uk/tv_grab_uk.in,
	  uk_rt/tv_grab_uk_rt.in: Adding a --quiet flag to four grabbers;
	  this is in response to Debian bug 169157 and discussions with
	  Kenneth Pronovici.

2002-11-17 20:41  jveldhuis

	* grab/na/tv_grab_na: added option for splitting --listings output
	  by channel number and channel callletters. See pod or --help for
	  details.

2002-11-17 20:40  jveldhuis

	* grab/na/: ZapListings.pm, tv_grab_na: added new --quiet and
	  --stats command line options as per requests to control amount of
	  stderr output.

2002-11-17 12:52  jveldhuis

	* grab/na/tv_grab_na: fixed mkpathtofile so it creates all missing
	  directories

2002-11-16 17:39  epaepa

	* grab/: uk/tv_grab_uk.in, uk_rt/tv_grab_uk_rt.in: Patch from
	  Walter Duncan to add --offset.

2002-11-16 17:33  epaepa

	* grab/sn/tv_grab_sn: Patch from Walter Duncan to improve
	  documentation of --offset.

2002-11-16 06:11  epaepa

	* grab/de/tv_grab_de: Added --offset option, improved warning
	  messages when downloads fail.

2002-11-15 12:24  rmeden

	* choose/tv_check/tv_check: fix MyReplayTV case where day changes
	  and old day is reused

2002-11-12 09:56  rmeden

	* lib/exe_wrap.pl: I thought a script could end with RETURN.
	  Someone had a problem

2002-11-11 16:19  epaepa

	* Makefile.PL: Jerry V. pointed out that string comparison might
	  work better than numeric comparison for version numbers.

2002-11-11 12:27  jveldhuis

	* grab/na/tv_grab_na: fixed documentation w.r.t --output and added
	  some warnings about failing to unlink temperary files

2002-11-11 12:26  jveldhuis

	* grab/na/ZapListings.pm: warn if we can't write to cache

2002-11-09 16:34  epaepa

	* grab/sn/tv_grab_sn: One more illegal character entity to deal
	  with.

2002-11-07 08:20  epaepa

	* filter/tv_extractinfo_en: There was an infinite loop where a
	  programme looked a bit like a multipart, but was 'split' into
	  only one programme, which in turn looked like a multipart...	Now
	  if a programme is split into just one result, special_multipart()
	  decides to leave it alone.

2002-11-07 05:30  epaepa

	* filter/tv_cat, lib/XMLTV.pm.in: Fixed the tv_cat bug reported by
	  Jerry Veldhuis where it duplicates <channel> elements.  The
	  mistake lay in treating parsefiles_callback() as if it could
	  simply be used instead of parsefile_callback(), when in fact a
	  little more checking is needed when getting channels from
	  multiple files.

	  Added a warning to the XMLTV.pm documentation about this.  I
	  might change the way this works later, so that duplicate channels
	  are weeded out in XMLTV.pm and the data returned to the user is
	  always clean: not sure what is best here.

2002-11-07 05:25  epaepa

	* MANIFEST: Oops, I added a few generated test outputs to the file
	  list by mistake.

2002-11-07 05:12  epaepa

	* MANIFEST, t/test_filters.t,
	  t/data/tv_cat_test_xml_test_xml.expected,
	  t/data/tv_extractinfo_en_test_xml_test_xml.expected,
	  t/data/tv_grep_a_test_xml_test_xml.expected,
	  t/data/tv_grep_category_b_test_xml_test_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_test_xml_test_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_xml_test_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_test_xml_test_xml.expected,
	  t/data/tv_grep_channel_name_d_test_xml_test_xml.expected,
	  t/data/tv_grep_channel_xyz_or_channel_b_test_xml_test_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_xml_test_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_test_xml_test_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_test_xml_test_xml.expected,
	  t/data/tv_grep_i_last_chance_c_test_xml_test_xml.expected,
	  t/data/tv_grep_new_test_xml_test_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_test_xml_test_xml.expected,
	  t/data/tv_grep_premiere_test_xml_test_xml.expected,
	  t/data/tv_sort_by_channel_test_xml_test_xml.expected,
	  t/data/tv_sort_test_xml_test_xml.expected,
	  t/data/tv_to_latex_test_xml_test_xml.expected: Added a new set of
	  filter test cases: using the file test.xml twice.  This is to
	  catch a bug in tv_cat where <channel> elements are duplicated.
	  The expected outputs being committed show the correct behaviour.

2002-11-07 05:09  epaepa

	* grab/uk/tv_grab_uk.in: More informative (if more frightening)
	  error message when the site's pages don't look like XMLTV files.

2002-11-06 14:18  epaepa

	* MANIFEST, grab/uk/channel_ids, grab/uk/channel_pkgs/arts,
	  grab/uk/channel_pkgs/classics, grab/uk/channel_pkgs/comedy,
	  grab/uk/channel_pkgs/entertainment, grab/uk/channel_pkgs/factual,
	  grab/uk/channel_pkgs/ireland, grab/uk/channel_pkgs/misc,
	  grab/uk/channel_pkgs/music, grab/uk/channel_pkgs/national,
	  grab/uk/channel_pkgs/not_england, grab/uk/channel_pkgs/regional,
	  grab/uk/channel_pkgs/scotland, grab/uk/channel_pkgs/shop,
	  grab/uk/channel_pkgs/wales, todo/TASKS.epa: Dealt with the new
	  Ananova television channels, assigned them XMLTV ids and put each
	  in one or more packages.

2002-11-06 14:16  epaepa

	* Makefile.PL: The Makefile depends on grab/uk/channel_pkgs/
	  because every time a new package is added to that directory some
	  new commands need to appear in the Makefile.

2002-11-05 00:41  rmeden

	* lib/exe_wrap.pl: Set the TZ variable if it is not already set.

2002-11-03 12:58  jveldhuis

	* grab/na/tv_grab_na: The following changes have been made to the
	  cvs head revision of tv_grab_na and ZapListings.pm.

	   1. when --output is used, the file is always overwritten
	   2. renamed the newly added --overwrite to --listings-overwrite
	  because it
	      only effects the symanitics of --listings use.
	   3. when no programs are found after getting a page of listings
	  from zap2it,
	      the readSchedule() method returns -2 instead of -1 and so
	  tv_grab_na
	      won't retry these pages. Instead tv_grab_na prints a message
	  similar to:
		 unretry-able error reading schedule for 2002-11-05 for
	  station 2 CFRN
	      and doesn't retry. (thanks Brian for the insight).

2002-11-03 12:52  jveldhuis

	* grab/na/ZapListings.pm: delayed messages about writting files to
	  cache until after scraping the data so we don't report we're
	  writting data to cache we actually unlink afterward because no
	  programs were found.

	  implemented -2 unretry-able errors so no programs aren't retried
	  by tv_grab_na.

2002-11-02 11:43  jveldhuis

	* grab/na/tv_grab_na: In order to make tv_grab_na a bit more
	  resistant to longer server failures at zap2it, it now:

	    - if used with --listings or --output won't re-grab already
	  grabbed listings
	      (this only works if you use at least a day resolution on your
	  filenames)

	    - this behaviour can be over-ridden by using the
	  --overwrite=true on the command line.

	    - format of ending stats has changed a bit. They now include
	  the number of channel
	      listings that failed and the number of listings files that
	  weren't re-grabbed.
	      ie:

	       > checking provider information for postal/zip code 90210,
	  be patient..
	       > double checking channel information, be patient..
	       > listings in tmp-grab/90210/2002-10-29-listings-02 exist,
	  skipping
	       ...
	       > Grabbed 0 programs on 0 channels over 2 day(s) in 0
	  seconds
	       >   not too bad, that's 0.00 programs/sec and 0.00
	  seconds/www page
	       >   does not include 1 failed channel schedule
	       >   does not include 2 output file(s) that already existed

	  WARNING: the default behavour changes the symantics of using
	  --listings or --output      with a filename that doesn't change
	  on a daily basis (ie include %d or equiv).	   So if you use
	  'tv_grab_na --listings out.xml' it will only retrieve fresh
	  listings	 if the out.xml file doesn't exist.

	  Change does not effect writting listings to stdout.

2002-11-02 11:18  jveldhuis

	* grab/na/ZapListings.pm: added a newly used lanugage

2002-10-30 19:04  epaepa

	* grab/uk/: channel_ids, tv_grab_uk.in, channel_pkgs/adult,
	  channel_pkgs/children, channel_pkgs/entertainment,
	  channel_pkgs/film, channel_pkgs/gratis, channel_pkgs/lifestyle,
	  channel_pkgs/not_england, channel_pkgs/shop, channel_pkgs/sport:
	  When I originally wrote this version of the grabber I went
	  through every TV channel listed on the site's 'show=channels'
	  page and added an RFC2838 id for it and assigned it to one or
	  more 'channel packages' if not a terrestrial channel.  But as the
	  site changes new channels appear which are not in any channel
	  package.  They're thus unable to be selected for grabbing.

	  Now the code warns if any channels have appeared which belong to
	  no region and aren't mentioned in any channel package.  It would
	  be better if it could offer to modify your configuration with
	  them (maybe have a special package 'UNKNOWN'), but this is a
	  start.

2002-10-29 12:32  epaepa

	* Makefile.PL: Added a special check for Red Hat's uniquely broken
	  Date::Manip installation.  I hope it works.

2002-10-28 14:30  epaepa

	* todo/TASKS.epa: Added a todo-list item for 'unknown' data.  This
	  is part of the planned new file format.  I probably won't add
	  individual items for each planned change, rather discuss them on
	  the mailing list.

2002-10-27 07:55  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Changed the date handling to use the
	  UK_TZ.pm code that was originally written for the Ananova
	  grabber.  Unless the programme details give an explicit timezone
	  we just guess.

	  This probably still has bugs but it is a lot better than it was
	  before.  The local system's timezone will no longer affect the
	  listings output (we set Date::Manip to UTC for everything).  A
	  pity that I did this too late for last night's BST->UTC
	  changeover :-(.

2002-10-27 04:29  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Instead of ParseDate() use
	  parse_uk_date() which guesses a timezone.  This was intended to
	  fix the BST/GMT changeover bugs, it does not, but hopefully the
	  code is no worse than before.

	  Changed memoization to get_url() instead of get() because
	  memoizing get() failed for some obscure reason.

2002-10-27 04:28  epaepa

	* MANIFEST, Makefile.PL, grab/uk/UK_TZ.pm, lib/UK_TZ.pm: Moved the
	  library UK_TZ.pm out of the grab/uk/ directory and into lib/,
	  since it will now be used by two grabbers.  (Still haven't
	  decided the best way to organize the directory structure with
	  libraries that are used by only one or two programs, but it's a
	  small issue.)

2002-10-27 04:25  epaepa

	* Uninstall.pm: Made uninstall work correctly with perl 5.005, its
	  File::Find seems a bit broken.

2002-10-27 04:14  epaepa

	* todo/TASKS.epa: Another todo item - I saw the Term::Interact
	  module announced on Usenet.

2002-10-25 14:26  epaepa

	* Makefile.PL: A nicer warning message when a module fails to load.

2002-10-25 14:18  epaepa

	* lib/XMLTV.pm.in: Pod documentation syntax fixes.

2002-10-25 14:14  epaepa

	* MANIFEST: Adding the Windows executable generator to the file
	  list (there's no harm in distributing it as part of the source
	  tarballs and if it's not in MANIFEST you get a warning).

2002-10-24 11:14  jveldhuis

	* grab/na/tv_grab_na: Now supports compressors based on listings
	  file suffix.	added command line options to override gzip/zip and
	  bzip2 compressor command lines.

	  Ya I know I could have used perl packages out there someplace for
	  doing the compression, but I wanted something quick.	The command
	  line options support windoz platforms. And its not like
	  compression of output listings files is required, so if it
	  doesn't work, don't use it.

	  now closes xml output upon failure, so you get valid output to
	  stdout.

2002-10-24 10:51  jveldhuis

	* grab/na/ZapListings.pm: remove pages with no programs from cache

2002-10-23 13:02  rmeden

	* Makefile.PL: Replace leading spaces with tabs in generated
	  Makefile for compatability

2002-10-21 23:25  rmeden

	* lib/exe_wrap.pl: Still working on that file id!

2002-10-21 23:24  rmeden

	* lib/exe_wrap.pl: Fix file ID number

2002-10-21 23:22  rmeden

	* lib/exe_wrap.pl: Initial commit of script used as wrapper for
	  windows EXE

2002-10-21 23:12  rmeden

	* Makefile.PL: Added code to build windows executable

2002-10-20 16:06  epaepa

	* grab/uk/Ananova_Channel.pm: The code I wrote to assign the
	  Tie::RefHash::Nestable namespace never worked, but I didn't
	  realize because I had a newer version of Tie::RefHash in my
	  PERL5LIB.  Thanks to Olaf Klischat for finding the bug and asking
	  on clp.moderated, and to Benjamin Goldberg for posting the right
	  answer.

2002-10-20 12:02  jveldhuis

	* grab/na/ZapListings.pm: will now retry pages returned with no
	  programs

2002-10-20 05:21  epaepa

	* Makefile.PL: Require XML::Twig version 3.09.	This should finally
	  fix the problems with XML::Twig not being detected by the
	  Makefile.PL.	This version of XML::Twig has not yet been
	  officially released to CPAN, you have to get it as a development
	  version from the author's website.  But I'm told it will be
	  released soon.

2002-10-18 16:49  epaepa

	* grab/sn/tv_grab_sn: Improved <span class="..."> HTML matching.

2002-10-18 15:49  epaepa

	* grab/sn/tv_grab_sn: Fixed brown-paper-bag bug with passing a
	  filename where a filehandle was expected.

2002-10-16 12:51  epaepa

	* Makefile.PL: Scott Rose reported that LWP 5.63 had missing
	  methods, but upgrading to 5.65 worked.  So we'll require that
	  version.

2002-10-16 12:31  epaepa

	* Makefile.PL: The minimum required version of XML::Twig is now the
	  latest, 3.08.  This fixes various weird problems that Red Hat 8
	  or Mandrake 9 users have been having, though probably not all of
	  them.  Not all users will strictly need to upgrade but it's way
	  simpler just to get everyone on the same version.

2002-10-15 14:45  epaepa

	* MANIFEST, Makefile.PL, mkdist, doc/README.win32: Added a couple
	  of files to the distribution created by 'make windows_dist': the
	  standard xmltv.dtd, and a new file README.win32 which replaces
	  the standard README.

2002-10-14 14:43  epaepa

	* Makefile.PL: windows_dist: convert all the files to DOS line
	  endings; move READMEs to the top-level directory.

2002-10-13 15:46  epaepa

	* Makefile.PL: The test I put in to check for manual page breakage
	  didn't work because of shell wildcard expansion.

2002-10-11 14:20  epaepa

	* todo/TASKS.epa: Tidied up the todo list, removing lots of dead
	  items and grouping all the things relating to file format.

2002-10-11 14:15  epaepa

	* todo/TASKS.epa: A few more items done, or not doing.

2002-10-11 14:14  epaepa

	* filter/tv_extractinfo_en: Turn 'X interviews...' into a
	  'presenter' credit (though really it would be something more
	  specific if the XMLTV format allowed it).

2002-10-11 14:03  epaepa

	* todo/TASKS.epa: Updated todo list for most recent
	  tv_extractinfo_en change, plus one that I'm not doing.

2002-10-11 14:01  epaepa

	* filter/tv_extractinfo_en: New multipart splitting method: look
	  for 'including at TIME TITLE' in description.  This isn't perfect
	  (the main programme continues afterwards, there is 'followed by
	  weather' which isn't handled, and I'm still not happy about
	  throwing away all the programme's other data when splitting on
	  description) but a further step in the War On English.

2002-10-11 12:23  epaepa

	* filter/tv_extractinfo_en, todo/TASKS.epa: A few more todo-list
	  items.

	  special_credits(): 'Written by' and just 'By' create a 'writer'
	  credit.  Some of the extractor regexps have been tweaked to
	  preserve sentence boundaries better.	A sentence 'X concludes the
	  series' makes X a presenter and adds the new text 'Last in
	  series' - which some day might be picked up by another handler.

	  special_new_series(): recognize a wider range of 'New series'
	  sentences.

	  special_useless(): recognize and remove 'Coverage of' anywher at
	  the start of a sentence.

2002-10-11 10:14  epaepa

	* todo/TASKS.epa: Crossed off another todo list item (recent
	  tv_extractinfo_en changes).

2002-10-11 10:05  epaepa

	* filter/tv_extractinfo_en: The name regular expressions were made
	  weaker to accommodate names like 'LL Cool J' (sigh).	But I added
	  a negative lookbehind test to make sure that 'the' does not
	  precede a name unless it is part of the name.  How many of these
	  lookbehind and lookahead tests should be part of $NAME_RE, and
	  how many part of the regexps which embed it, is still to be
	  sorted out.

	  special_category(): report more accurately whether the programme
	  has been changed.

	  special_credits(): work on all the descriptions in the right
	  language, not just the first.  Improved some of the extractor
	  regexps, and more extractors now examine categories, or the
	  presence of an existing person with the same job, to see whether
	  they should run.  Did away with the silly (non?)optimization of
	  'caches' stored in the programme details listing people in a
	  given job.  It is not possible for a person to both be a guest
	  and do some other job.

2002-10-11 09:36  epaepa

	* t/data/tv_extractinfo_en_clump_extract_1_xml.expected: I think
	  this test file didn't get committed earlier for some reason.

2002-10-10 14:45  epaepa

	* grab/sn/tv_grab_sn: Oops, a really stupid bug that got into
	  0.5.2: forgot to check the $have_bar variable before calling
	  Term::ProgressBar methods.

2002-10-10 14:05  epaepa

	* filter/tv_extractinfo_en: The assignmnent of new categories is a
	  bit subtler: it looks at all the programme's titles and
	  descriptions which are in English, and knows that mention of
	  'news' in a soap opera doesn't make it a news show.

	  'With' in game show means presenter, not actor (just as already
	  for news, business, etc).

2002-10-10 13:16  epaepa

	* filter/tv_extractinfo_en: Removed some references to 'en'
	  scattered around the code, now there is a routine pair_ok() to
	  tell you whether a [ text, lang ] pair is eligible for
	  processing, and if you must use the language directly then use
	  the variable $LANG.

2002-10-10 12:58  epaepa

	* filter/tv_extractinfo_en: Parse a sentence like 'Roy Hattersley
	  guests'.

2002-10-10 11:38  epaepa

	* grab/sn/tv_grab_sn: Added a couple of features which the other
	  dagenstv grabber had: real <channel> elements and fixing a few
	  more HTML entities.

	  Added a progress bar, where available.

2002-10-10 11:33  epaepa

	* mkdist: Updated the instructions to reflect the new naming
	  convention for file releases.   (Just '0.5.2' not 'xmltv-0.5.2'
	  which is kinda redundant.)

2002-10-10 09:46  epaepa

	* README: Removed references to slowness of test suite - it's not
	  so bad now.

2002-10-10 09:28  epaepa

	* README: Improved summary of changes since last release: it's
	  harder to remember what other people have committed :-(.

2002-10-10 08:45  epaepa

	* lib/XMLTV.pm.in, t/data/amp.xml, t/data/tv_cat_all_UTF8.expected,
	  t/data/tv_cat_amp_xml.expected,
	  t/data/tv_cat_amp_xml_amp_xml.expected,
	  t/data/tv_cat_amp_xml_clump_xml.expected,
	  t/data/tv_cat_amp_xml_dups_xml.expected,
	  t/data/tv_cat_amp_xml_empty_xml.expected,
	  t/data/tv_cat_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_cat_clump_xml_amp_xml.expected,
	  t/data/tv_cat_dups_xml_amp_xml.expected,
	  t/data/tv_cat_empty_xml_amp_xml.expected,
	  t/data/tv_extractinfo_en_all_UTF8.expected,
	  t/data/tv_extractinfo_en_amp_xml.expected,
	  t/data/tv_extractinfo_en_amp_xml_amp_xml.expected,
	  t/data/tv_extractinfo_en_amp_xml_clump_xml.expected,
	  t/data/tv_extractinfo_en_amp_xml_dups_xml.expected,
	  t/data/tv_extractinfo_en_amp_xml_empty_xml.expected,
	  t/data/tv_extractinfo_en_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_extractinfo_en_clump_xml_amp_xml.expected,
	  t/data/tv_extractinfo_en_dups_xml_amp_xml.expected,
	  t/data/tv_extractinfo_en_empty_xml_amp_xml.expected,
	  t/data/tv_grep_a_all_UTF8.expected,
	  t/data/tv_grep_a_amp_xml.expected,
	  t/data/tv_grep_a_amp_xml_amp_xml.expected,
	  t/data/tv_grep_a_amp_xml_clump_xml.expected,
	  t/data/tv_grep_a_amp_xml_dups_xml.expected,
	  t/data/tv_grep_a_amp_xml_empty_xml.expected,
	  t/data/tv_grep_a_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_a_clump_xml_amp_xml.expected,
	  t/data/tv_grep_a_dups_xml_amp_xml.expected,
	  t/data/tv_grep_a_empty_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml_dups_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml_empty_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_clump_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_dups_xml_amp_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_empty_xml_amp_xml.expected,
	  t/data/tv_sort_all_UTF8.expected,
	  t/data/tv_sort_amp_xml.expected,
	  t/data/tv_sort_amp_xml_amp_xml.expected,
	  t/data/tv_sort_amp_xml_clump_xml.expected,
	  t/data/tv_sort_amp_xml_dups_xml.expected,
	  t/data/tv_sort_amp_xml_empty_xml.expected,
	  t/data/tv_sort_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_sort_by_channel_all_UTF8.expected,
	  t/data/tv_sort_by_channel_amp_xml.expected,
	  t/data/tv_sort_by_channel_amp_xml_amp_xml.expected,
	  t/data/tv_sort_by_channel_amp_xml_clump_xml.expected,
	  t/data/tv_sort_by_channel_amp_xml_dups_xml.expected,
	  t/data/tv_sort_by_channel_amp_xml_empty_xml.expected,
	  t/data/tv_sort_by_channel_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_sort_by_channel_clump_xml_amp_xml.expected,
	  t/data/tv_sort_by_channel_dups_xml_amp_xml.expected,
	  t/data/tv_sort_by_channel_empty_xml_amp_xml.expected,
	  t/data/tv_sort_clump_xml_amp_xml.expected,
	  t/data/tv_sort_dups_xml_amp_xml.expected,
	  t/data/tv_sort_empty_xml_amp_xml.expected,
	  t/data/tv_to_latex_all_UTF8.expected,
	  t/data/tv_to_latex_amp_xml.expected,
	  t/data/tv_to_latex_amp_xml_amp_xml.expected,
	  t/data/tv_to_latex_amp_xml_clump_xml.expected,
	  t/data/tv_to_latex_amp_xml_dups_xml.expected,
	  t/data/tv_to_latex_amp_xml_empty_xml.expected,
	  t/data/tv_to_latex_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  t/data/tv_to_latex_clump_xml_amp_xml.expected,
	  t/data/tv_to_latex_dups_xml_amp_xml.expected,
	  t/data/tv_to_latex_empty_xml_amp_xml.expected: When I changed the
	  code to use XML::Twig's KeepEncoding I altered get_text() to
	  clean up entities like &amp; by hand, but forgot to do the same
	  for attribute values.  (Hopefully it will not be needed for
	  attribute names, I don't know.)  Extended the amp.xml test cases
	  to check this bug.

	  Made sure that in the callback interface, if a callback is
	  undefined it won't be called (as the docs say).

2002-10-10 06:20  epaepa

	* grab/na/tv_grab_na: Cahnged the xmlDecl() call so that it doesn't
	  output standalone="yes".  I don't know what that does, but the
	  other grabbers don't produce it so we might as well be
	  consistent.

2002-10-10 06:07  epaepa

	* grab/: uk/channel_ids, uk_rt/channel_ids: BBC Knowledge is now
	  called BBC4, although the XMLTV id is still knowledge.bbc.co.uk
	  for now.

2002-10-10 06:05  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Don't download categories unless
	  $GET_CATEGORIES is on, which it isn't.  When a page says 'no
	  programmes available' then assume this is deliberate and don't
	  print a warning.  Warnings that are printed should have the URL
	  prepended.

2002-10-10 05:44  epaepa

	* grab/uk_rt/channel_ids: Removing duplicate entry for RT channel
	  248.

2002-10-10 05:43  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Errors in the config file should be
	  warned about with name and line number, not 'FH' :-P.

2002-10-10 05:38  epaepa

	* Makefile.PL, README, doc/QuickStart, lib/XMLTV.pm.in: Preparing
	  for 0.5.2 release.  Just a bit more testing first.

2002-10-10 05:36  epaepa

	* grab/uk_rt/tv_grab_uk_rt.in: Use the extra display names for
	  channels.

2002-10-10 05:15  epaepa

	* MANIFEST, Makefile.PL, grab/uk_rt/channel_ids,
	  grab/uk_rt/tv_grab_uk_rt, grab/uk_rt/tv_grab_uk_rt.PL,
	  grab/uk_rt/tv_grab_uk_rt.in: Moved tv_grab_uk_rt's lookup table
	  of Radio Times channel ids into a separate file installed under
	  share/ and read at runtime - exactly the same way tv_grab_uk does
	  it.

2002-10-10 04:20  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Added a pod manual page.  The configure
	  routine now has a stern warning (and no downloading happens
	  unless you choose to proceed).  The %channels hash is no longer a
	  global variable.

2002-10-09 15:52  epaepa

	* filter/tv_extractinfo_en: A new category 'talk' is set
	  automatically if a show mentions the word 'interviews'; it
	  affects the handling of 'with X' (treated as presenter, not
	  actor).

2002-10-09 15:44  epaepa

	* filter/tv_extractinfo_en: 'X introduces...' means X is a
	  presenter.

	  Removed meaningless phrase 'Coverage of'.

2002-10-09 15:14  epaepa

	* filter/tv_extractinfo_en: Change 'X round-up' to 'Xs'.  Hey, it
	  works for X = 'Headline'...

2002-10-09 13:24  epaepa

	* filter/tv_extractinfo_en: Handle a fourth kind of multipart
	  programme: that which has times in the form 'from-to' followed by
	  title and description.

	  Remove the phrase 'round-up of' since it has no meaning.  Eg
	  'round-up of news' becomes just 'news'.

2002-10-09 10:18  epaepa

	* filter/tv_extractinfo_en: special_multipart(): now handles two
	  styles of multipart programme found in the Radio Times listings,
	  as well as the Ananova style.

2002-10-09 08:46  epaepa

	* MANIFEST, lib/Clumps.pm,
	  t/data/tv_extractinfo_en_all_UTF8.expected: I've more or less
	  given up on fixing Clumps.pm; instead I've just removed the
	  sanity check about the times of replacement programmes being
	  within those of the old programme.  It relates to cases where a
	  programme in the middle of a clump is altered or replaced.  I
	  know what the Right Thing is here, but the Clumps.pm code is such
	  a mess I can't be bothered to implement it now.

	  Luckily all this clumps stuff will go out the window when the DTD
	  is revised.

2002-10-09 08:13  epaepa

	* MANIFEST: Adding new test case to file list.

2002-10-09 08:11  epaepa

	* t/data/: clump_extract_1.xml, tv_cat_all_UTF8.expected,
	  tv_cat_clump_extract_1_xml.expected,
	  tv_cat_clump_extract_xml.expected,
	  tv_extractinfo_en_clump_extract_xml.expected,
	  tv_grep_a_all_UTF8.expected,
	  tv_grep_a_clump_extract_1_xml.expected,
	  tv_grep_a_clump_extract_xml.expected,
	  tv_grep_category_b_clump_extract_1_xml.expected,
	  tv_grep_category_b_clump_extract_xml.expected,
	  tv_grep_category_e_and_title_f_clump_extract_1_xml.expected,
	  tv_grep_category_e_and_title_f_clump_extract_xml.expected,
	  tv_grep_category_g_or_title_h_all_UTF8.expected,
	  tv_grep_category_g_or_title_h_clump_extract_1_xml.expected,
	  tv_grep_category_g_or_title_h_clump_extract_xml.expected,
	  tv_grep_channel_id_channel4_com_clump_extract_1_xml.expected,
	  tv_grep_channel_id_channel4_com_clump_extract_xml.expected,
	  tv_grep_channel_name_d_clump_extract_1_xml.expected,
	  tv_grep_channel_name_d_clump_extract_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_amp_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_amp_xml_clump_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_amp_xml_dups_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_amp_xml_empty_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_clump_extract_1_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_clump_extract_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_clump_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_clump_xml_clump_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_clump_xml_dups_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_clump_xml_empty_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_dups_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_dups_xml_clump_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_dups_xml_dups_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_dups_xml_empty_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_empty_xml_amp_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_empty_xml_clump_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_empty_xml_dups_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_empty_xml_empty_xml.expected,
	  tv_grep_channel_xyz_or_channel_b_x_whatever_xml.expected,
	  tv_grep_eval_scalar_keys_5_clump_extract_1_xml.expected,
	  tv_grep_eval_scalar_keys_5_clump_extract_xml.expected,
	  tv_grep_i_category_i_title_h_clump_extract_1_xml.expected,
	  tv_grep_i_category_i_title_h_clump_extract_xml.expected,
	  tv_grep_i_category_i_title_j_clump_extract_1_xml.expected,
	  tv_grep_i_category_i_title_j_clump_extract_xml.expected,
	  tv_grep_i_last_chance_c_clump_extract_1_xml.expected,
	  tv_grep_i_last_chance_c_clump_extract_xml.expected,
	  tv_grep_new_clump_extract_1_xml.expected,
	  tv_grep_new_clump_extract_xml.expected,
	  tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  tv_grep_on_after_2002_02_05_clump_extract_1_xml.expected,
	  tv_grep_on_after_2002_02_05_clump_extract_xml.expected,
	  tv_grep_premiere_clump_extract_1_xml.expected,
	  tv_grep_premiere_clump_extract_xml.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_sort_by_channel_clump_extract_1_xml.expected,
	  tv_sort_by_channel_clump_extract_xml.expected,
	  tv_sort_clump_extract_1_xml.expected,
	  tv_sort_clump_extract_xml.expected,
	  tv_to_latex_all_UTF8.expected,
	  tv_to_latex_clump_extract_1_xml.expected,
	  tv_to_latex_clump_extract_xml.expected: Adding another test case
	  for tv_extractinfo_en: this one causes it to crash.

2002-10-09 02:58  epaepa

	* lib/XMLTV.pm.in: Better warning message when input files (to be
	  concatenated) have different encodings.

2002-10-09 02:52  epaepa

	* lib/Clumps.pm: Added some more trace messages.

2002-10-07 13:16  epaepa

	* lib/Clumps.pm: Improved a fatal error message - but I still don't
	  know what is triggering it.

2002-10-07 13:08  epaepa

	* filter/tv_extractinfo_en: For a long time now there has been a
	  nuke_from_rel() call when a programme has been fully processed,
	  forgetting the information of which programmes it shares a clump
	  with.  The idea was that once a programme has been dealt with, we
	  don't need to keep track of it any more.  'Probably not needed,
	  but can't hurt' said the comment: tempting fate if ever that was
	  done.

	  No, we may need to modify a programme even once it has been fully
	  munged, because if others in the clump have been deleted we will
	  need to update its clumpidx.	So it shouldn't be removed from the
	  relation.  Getting rid of that call initially caused a section of
	  code in Clumps.pm (which had never been run before) to break.
	  But it should all be fixed now, I hope.

	  Also added some trace messages.

2002-10-07 13:05  epaepa

	* t/data/tv_extractinfo_en_all_UTF8.expected: This is the expected
	  result from tv_extractinfo_en, now that I've stopped it crashing
	  or printing warnings (fix to be committed).  Confusingly, the
	  programme 'News; Weather' is not split into two, although one day
	  it might be.

2002-10-07 12:59  epaepa

	* lib/Clumps.pm: A while ago I came across a mystifying
	  misbehaviour in perl, and I added all sorts of debugging and
	  wrapper routines like set_stop_time() to track it down.  I never
	  did get to the bottom of the problem, but later on some of the
	  code was moved out of tv_extractinfo_en into this module.  A call
	  to set_stop_time() was left in but until now, it has never been
	  called!  That was due to a bug in the programs using this module
	  I think.

	  Anyway, hoping that I won't be bitten again by this bug (or that
	  if I will be, then a special routine set_stop_times() offers no
	  protection), I have changed the call to just '$foo->{stop} = x'.

2002-10-07 12:55  epaepa

	* MANIFEST: Adding new test input to file list.  (But the expected
	  outputs have yet to be generated.)

2002-10-07 12:51  epaepa

	* t/data/: clump_extract.xml, tv_cat_all_UTF8.expected,
	  tv_grep_channel_xyz_or_channel_b_all_UTF8.expected,
	  tv_sort_all_UTF8.expected, tv_to_latex_all_UTF8.expected: This
	  test case uncovers a bug in tv_extractinfo_en related to breaking
	  up programmes which are part of a clump.  I haven't yet fixed the
	  bug, so the full test results aren't part of this checkin.

2002-10-07 12:43  epaepa

	* lib/Clumps.pm: It is morally better to use nested hashes rather
	  than concatenating two strings into a hash key.

2002-10-04 15:07  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Whoops, forgot that best_name()
	  requires a _list_ of allowable languages.

2002-10-04 15:01  epaepa

	* filter/tv_extractinfo_en: Corrected programme length calculation
	  (Date_Calc() returns an object you then have to turn into a
	  number of seconds with Delta_Format()).  Fixed a couple of
	  undefined value warnings.  Stopped using [:punct:] character
	  class which isn't supported in perl 5.005.

2002-10-04 07:04  epaepa

	* lib/XMLTV.pm.in: Added an extra warning.

2002-10-04 07:01  epaepa

	* filter/tv_extractinfo_en: Try to grok 'Classic Austrailian
	  western' and similar programme descriptions.	Made small tweaks
	  to full stops and spacing when pasting sentences together.

2002-10-03 20:53  rmeden

	* choose/tv_check/tv_check: if bug where a title of \d\d\d\d get's
	  interpreted as a date.

2002-10-03 16:01  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Changed the progress messages to print
	  a human-readable channel name rather than the XMLTV id (which
	  should normally be hidden from the user).

	  Times in the output now conform to what the DTD says and are in
	  the same format as tv_grab_uk.

	  When a page fails to parse, just print the URL and not the whole
	  content, because that gets excessive.

2002-10-03 15:40  epaepa

	* grab/uk/tv_grab_uk.in: grab(): the earlier change to use the
	  arguments passed in for creating an XMLTV::Writer neglected the
	  need to set the encoding based on the data we parsed from the
	  site.  So it is not possible to begin writing any XML until we
	  know the encoding to use.

2002-10-03 15:13  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Attempt to keep going when the basic
	  HTML munging fails.

2002-10-03 14:57  epaepa

	* grab/uk_rt/tv_grab_uk_rt: I had removed most of the progress
	  indicators from the code in the hope of replacing them with
	  Term::ProgressBars like the other grabbers use.  But I think that
	  will take time to sort out (there are various routines calling
	  other routines, the total number of pages to grab isn't known at
	  the outset but is very large) so for the next release I've gone
	  back to quick-and-dirty print STDERR '#'.

2002-10-03 14:39  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Whoops, I committed the code with it
	  set to grab yesterday's listings.  Fixed.

	  Made the grabbing more robust against download failures: where
	  possible it will just skip the details for that programme.

2002-10-03 11:55  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Dealt with the remaining bits of data
	  that were thrown away; now almost everything on the site is
	  included in the XMLTV output.  There are three things which
	  cannot be written out because the DTD doesn't have provision for
	  them: the names of parts played by each actor, the link text and
	  description for each URL, and a signed-for-the-deaf flag.  These
	  are now warned about just once per run, I hope to add them to the
	  DTD when we overhaul it.

2002-10-02 14:21  epaepa

	* choose/tv_pick/tv_pick_cgi: Oops, in my attempt to make the code
	  work without Lingua::EN::Numbers::Ordinate installed I think I
	  broke it when that module is installed.  This patch might fix the
	  problem.

2002-10-02 13:12  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Small refactoring.

2002-10-02 12:29  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Improvements to parsing; now it
	  understands links to related websites, and follow-on programmes.

2002-10-02 05:02  epaepa

	* grab/uk_rt/tv_grab_uk_rt: get_programme_details(): instead of
	  munging the HTML into a big string with | characters and using
	  regexps on it, split the string into a list of 'bits' and process
	  each individually.  This has made some things like sub-title and
	  description more robust, previously they might not get noticed.
	  I've also added warning messages for when some information is
	  discarded or ignored; each of these represents a to-do item.

2002-10-01 21:40  rmeden

	* choose/tv_check/tv_check: added Length field to myreplaytv fetch

2002-10-01 16:12  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Mostly cosmetic changes to HTML
	  'parsing'.

2002-10-01 09:54  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Added a --configure option based on
	  that of tv_grab_uk.  There are no regions, packages or channel
	  types (radio vs television), so for now you just have to type in
	  the names of channels.  It's likely the Radio Times site does
	  have some type information associated with each channel which we
	  could use; alternatively there could be some common table of
	  channel information between this grabber and tv_grab_uk.

	  In fact, common / centralized configuration of grabbers is
	  definitely something to look into.

	  Eliminated some global variables, and changed some routines to
	  pass around Date::Manip objects rather than weird time strings.

	  Changed some warning messages which were wrong before, and
	  improved the robustness of get_available_dates()'s HTML parsing.

	  Added usage message and --days option to go along with
	  --configure: but not all of the grabber options are fully working
	  yet.	--share is completely pointless at the moment since there
	  are no data files used by this grabber, but I hope to move the
	  big channel data hash into a share/ data file at some point.

	  Reduced occurrences of the magic string 'radiotimes.beeb.com',
	  etc.	Fixed <tv> element credits.

2002-10-01 09:43  epaepa

	* lib/Clumps.pm: More informative warning message.

2002-10-01 09:42  epaepa

	* grab/uk/tv_grab_uk.in: grab(): it claimed that the arguments
	  passed in were given to XMLTV::Writer, but in fact it ignored
	  them.  Now the code does what the comment says.

	  Improved laziness (a little) by writing channels, etc. as soon as
	  we get the data.  Programmes are still in a lump however.

	  This change hasn't been tested, I'll do that when I get access to
	  a (fast, etc) network connection.

2002-10-01 09:40  epaepa

	* filter/tv_grep.in: I had misunderstood the /o flag for regular
	  expressions.	If you create a closure which captures $foo, and do
	  a regexp /$foo/o, then it really will be just one value of $foo
	  throughout the whole program, even if different closures had
	  captured different values.  This caused a bug where you couldn't
	  give the same programme content test twice with different
	  regexps.

2002-10-01 09:38  epaepa

	* MANIFEST: Adding new test case files to MANIFEST.

2002-10-01 09:36  epaepa

	* t/: test_filters.t,
	  data/tv_grep_channel_xyz_or_channel_b_all_UTF8.expected,
	  data/tv_grep_channel_xyz_or_channel_b_amp_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_attrs_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_clump_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_dups_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_empty_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_length_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_overlap_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_simple_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_sort_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_test_empty_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_test_livre_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_test_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_whitespace_xml.expected,
	  data/tv_grep_channel_xyz_or_channel_b_x-whatever_xml.expected:
	  Found a bug in tv_grep with specifying --channel twice (or any
	  programme content test twice, it turns out); here is a test case.

2002-09-30 07:19  epaepa

	* lib/XMLTV.pm.in: Refactored the 'unknown key foo in bar hash'
	  warnings into the routine warn_unknown_keys().

2002-09-30 07:17  epaepa

	* Makefile.PL: Now that tv_grab_uk_rt no longer has any unusual
	  dependencies, it can be installed by default and without
	  prompting.  Although I really ought to do something more
	  consistent between parts which are prompted for and parts which
	  aren't.

2002-09-30 06:46  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Made sure the XML is valid by cleaning
	  up ('demoronizing') a couple of non-Latin-1 characters which were
	  being carried through from the HTML pages.

	  Removed retry-fetching, I may add it back later if it proves to
	  be needed.  But it interferes with caching which is a nuisance
	  for development.

	  Changed non-standard keys in hashes to begin with an underscore,
	  so XMLTV::Writer will silently skip them rather than complaining.

	  Added some more error checking, in particular a check that
	  regular expression matches actually succeed before we go off and
	  use captured strings.

	  Strip leading and trailing whitespace from titles and
	  descriptions.

	  Rejigged the channel handling a little; now we try to use XMLTV
	  ids internally and only convert them to Radio Times ids when
	  contacting the site.	Also, only the channels which are actually
	  used are written out as <channel> elements, and with the correct
	  id.  Still some more to do here, in particular a real
	  configuration stage.

	  Added prototypes for all subroutines.

	  Cosmetic formatting, indentation and code style changes.

	  Removed use of Time::ParseDate, now we use Date::Manip
	  exclusively for that stuff.

2002-09-29 13:25  epaepa

	* MANIFEST, Makefile.PL: Added tv_grab_uk_rt to the makefile
	  machinery.

2002-09-29 13:24  epaepa

	* t/parallel_test: Sorting is necessary to compare the output of
	  tv_grab_uk from the 0.5 release with that in 0.5.1.  The order of
	  the XML output has changed.

	  (Also it's necessary to turn off $KEEP_ENCODING in XMLTV.pm, if
	  you want to get the same output from the grabber.)

	  I'm pleased to report that with the exception of cases which
	  crashed the old version of the grabber, the output of old and new
	  is unchanged up to sorting.

	  BTW, if anyone else wants to know how to use this script (like to
	  check that tv_grab_na still works after some major change to the
	  code), do ask.  I plan to start using it for tv_grab_sn and
	  tv_grab_uk_rt as well.

2002-09-29 13:09  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Made warnings-clean, and turned the
	  commented-out category-fetching code into a configurable option
	  (though I haven't yet tested it).

2002-09-29 13:08  epaepa

	* grab/uk_rt/tv_grab_uk_rt: Adding Jerome Benedict Hettich's Radio
	  Times grabber, which was written as part of a group project at
	  the Department of Computing, Imperial College - another case of
	  someone in the same department using XMLTV without me knowing!
	  He sent it to me a while ago but I never got around to adding it.

	  At the moment it does a pretty good job of fetching data from the
	  Radio Times site - their listings are very detailed, particularly
	  in giving the cast of each programme.  And they stretch to two
	  weeks whereas Ananova's go to one.  I believe that the RT data is
	  'completely unrelated' to the Press Association feed which
	  Ananova uses, but I'll investigate later whether there are
	  similarities.

2002-09-29 06:46  epaepa

	* grab/sn/tv_grab_sn: Added --offset option needed by mythtv.  This
	  will eventually be replaced by standard grabber options.

2002-09-28 23:23  rmeden

	* choose/tv_check/tv_check: MyReplayTV fetches now retains options
	  set with --configure MyReplayTV warning about not being able to
	  guess the show day improved MyReplayTV uses old day if show not
	  on the schedule this week Title-only header now includes all set
	  fields so you can see the options.

2002-09-28 17:49  epaepa

	* filter/tv_extractinfo_en: Found a mysterious bug and added some
	  more error handling and trace messages in an attempt to track it
	  down.  Then for some reason renaming one variable @progs to @pps
	  made the bug go away again.

2002-09-28 16:15  epaepa

	* filter/tv_extractinfo_en: Adding some more function prototypes.

2002-09-28 12:31  epaepa

	* grab/uk/Ananova_Channel.pm: Fix lone 'our' that crept in - I want
	  to keep 5.005 compatibility.

2002-09-28 09:20  epaepa

	* Uninstall.pm: Clearer error message.

2002-09-28 07:39  epaepa

	* grab/sn/tv_grab_sn: Rewritten the output routines to use
	  XMLTV::Writer.  Now this grabber should generate valid XML every
	  time.

2002-09-28 07:38  epaepa

	* filter/tv_grep.in, lib/XMLTV.pm.in: I realized that the handling
	  of attributes in XMLTV.pm was very buggy.  Some like 'showview'
	  had never worked!  Now the list of attributes is centralized and
	  returned as part of the output of list_programme_keys() - so that
	  routine really does tell you all the keys that might be in a
	  programme hash.

	  The change to list_programme_keys() means tv_grep has sprouted a
	  lot of new tests, including a somewhat-redundant --channel.

2002-09-28 07:31  epaepa

	* MANIFEST: Added attrs.xml and its test cases to the file listing.

2002-09-28 07:02  epaepa

	* t/data/: tv_cat_all_UTF8.expected,
	  tv_extractinfo_en_all_UTF8.expected, tv_grep_a_all_UTF8.expected,
	  tv_grep_eval_scalar_keys_5_all_UTF8.expected,
	  tv_sort_all_UTF8.expected, tv_sort_by_channel_all_UTF8.expected,
	  tv_to_latex_all_UTF8.expected: The new test input attrs.xml
	  affects the 'all_UTF8' tests too.

2002-09-28 07:02  epaepa

	* t/data/: tv_to_latex_amp_xml_dups_xml.expected,
	  tv_to_latex_clump_xml_dups_xml.expected: A couple of test cases I
	  forgot to commit with the earlier tv_to_latex change.

2002-09-28 07:00  epaepa

	* t/data/: attrs.xml, tv_cat_attrs_xml.expected,
	  tv_extractinfo_en_attrs_xml.expected,
	  tv_grep_a_attrs_xml.expected,
	  tv_grep_category_b_attrs_xml.expected,
	  tv_grep_category_e_and_title_f_attrs_xml.expected,
	  tv_grep_category_g_or_title_h_attrs_xml.expected,
	  tv_grep_channel_id_channel4_com_attrs_xml.expected,
	  tv_grep_channel_name_d_attrs_xml.expected,
	  tv_grep_eval_scalar_keys_5_attrs_xml.expected,
	  tv_grep_i_category_i_title_h_attrs_xml.expected,
	  tv_grep_i_category_i_title_j_attrs_xml.expected,
	  tv_grep_i_last_chance_c_attrs_xml.expected,
	  tv_grep_new_attrs_xml.expected,
	  tv_grep_on_after_2002_02_05_attrs_xml.expected,
	  tv_grep_premiere_attrs_xml.expected, tv_sort_attrs_xml.expected,
	  tv_sort_by_channel_attrs_xml.expected,
	  tv_to_latex_attrs_xml.expected: New test case to check that all
	  attributes of <programme> are read and written correctly.

2002-09-28 06:53  epaepa

	* t/test_filters.t: Previously testing would rely on particular
	  filenames appearing first alphabetically.  But of course this
	  completely breaks when you add new filenames in the middle.
	  Rather than rename things to 00amp.xml, etc, I have gone for the
	  only slightly smaller kludge of reordering files by hand in this
	  script.

	  Should fix properly some time.  Maybe a separate configuration
	  file should list the tests to run.

2002-09-28 06:47  epaepa

	* grab/uk/xmltv_ananova.dtd: Spelling change.

2002-09-28 06:45  epaepa

	* grab/uk/tv_grab_uk.in: Added FIXME about a bug I just noticed.

2002-09-28 06:44  epaepa

	* filter/tv_to_latex, t/data/tv_to_latex_dups_xml.expected,
	  t/data/tv_to_latex_dups_xml_amp_xml.expected,
	  t/data/tv_to_latex_dups_xml_clump_xml.expected,
	  t/data/tv_to_latex_dups_xml_dups_xml.expected,
	  t/data/tv_to_latex_dups_xml_empty_xml.expected,
	  t/data/tv_to_latex_empty_xml_dups_xml.expected: Notice a timezone
	  change even when only the start time of a programme is given.

2002-09-28 06:39  epaepa

	* xmltv.dtd: Spelling change.

2002-09-24 20:46  jveldhuis

	* grab/na/: ZapListings.pm, tv_grab_na: Animated became a category.
	   'Live', 'Call-in', 'If Necessary' and 'Subject to Blackout' are
	  appended in () to the end of the program description if one
	  exists, otherwise they're lost.

	  HDTV still needs ironing out.

2002-09-24 15:24  rmeden

	* choose/tv_check/tv_check: Fix serious bug where title-scan never
	  matches unless a device is defined.  (It skips it thinking the
	  episode is already scheduled to record)

2002-09-23 10:19  epaepa

	* MANIFEST: Fixing cut-and-paste error.

2002-09-23 10:17  epaepa

	* MANIFEST, Makefile.PL, grab/sn/tv_grab_sn: Adding Stefan
	  Grling's grabber for Sweden and Norway (with a few fixes).  I
	  will probably give him CVS access to upload new versions, if
	  necessary.

2002-09-23 10:14  epaepa

	* MANIFEST: Adding the data files for the new test cases to the
	  MANIFEST.

2002-09-23 08:54  epaepa

	* t/: test_filters.t, data/tv_cat_all_UTF8.expected,
	  data/tv_cat_amp_xml_amp_xml.expected,
	  data/tv_cat_amp_xml_clump_xml.expected,
	  data/tv_cat_amp_xml_dups_xml.expected,
	  data/tv_cat_amp_xml_empty_xml.expected,
	  data/tv_cat_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_cat_clump_xml_amp_xml.expected,
	  data/tv_cat_clump_xml_clump_xml.expected,
	  data/tv_cat_clump_xml_dups_xml.expected,
	  data/tv_cat_clump_xml_empty_xml.expected,
	  data/tv_cat_dups_xml_amp_xml.expected,
	  data/tv_cat_dups_xml_clump_xml.expected,
	  data/tv_cat_dups_xml_dups_xml.expected,
	  data/tv_cat_dups_xml_empty_xml.expected,
	  data/tv_cat_empty_xml_amp_xml.expected,
	  data/tv_cat_empty_xml_clump_xml.expected,
	  data/tv_cat_empty_xml_dups_xml.expected,
	  data/tv_cat_empty_xml_empty_xml.expected,
	  data/tv_cat_simple_xml_x_whatever_xml.expected,
	  data/tv_extractinfo_en_all_UTF8.expected,
	  data/tv_extractinfo_en_amp_xml_amp_xml.expected,
	  data/tv_extractinfo_en_amp_xml_clump_xml.expected,
	  data/tv_extractinfo_en_amp_xml_dups_xml.expected,
	  data/tv_extractinfo_en_amp_xml_empty_xml.expected,
	  data/tv_extractinfo_en_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_extractinfo_en_clump_xml_amp_xml.expected,
	  data/tv_extractinfo_en_clump_xml_clump_xml.expected,
	  data/tv_extractinfo_en_clump_xml_dups_xml.expected,
	  data/tv_extractinfo_en_clump_xml_empty_xml.expected,
	  data/tv_extractinfo_en_dups_xml_amp_xml.expected,
	  data/tv_extractinfo_en_dups_xml_clump_xml.expected,
	  data/tv_extractinfo_en_dups_xml_dups_xml.expected,
	  data/tv_extractinfo_en_dups_xml_empty_xml.expected,
	  data/tv_extractinfo_en_empty_xml_amp_xml.expected,
	  data/tv_extractinfo_en_empty_xml_clump_xml.expected,
	  data/tv_extractinfo_en_empty_xml_dups_xml.expected,
	  data/tv_extractinfo_en_empty_xml_empty_xml.expected,
	  data/tv_extractinfo_en_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_a_all_UTF8.expected,
	  data/tv_grep_a_amp_xml_amp_xml.expected,
	  data/tv_grep_a_amp_xml_clump_xml.expected,
	  data/tv_grep_a_amp_xml_dups_xml.expected,
	  data/tv_grep_a_amp_xml_empty_xml.expected,
	  data/tv_grep_a_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_a_clump_xml_amp_xml.expected,
	  data/tv_grep_a_clump_xml_clump_xml.expected,
	  data/tv_grep_a_clump_xml_dups_xml.expected,
	  data/tv_grep_a_clump_xml_empty_xml.expected,
	  data/tv_grep_a_dups_xml_amp_xml.expected,
	  data/tv_grep_a_dups_xml_clump_xml.expected,
	  data/tv_grep_a_dups_xml_dups_xml.expected,
	  data/tv_grep_a_dups_xml_empty_xml.expected,
	  data/tv_grep_a_empty_xml_amp_xml.expected,
	  data/tv_grep_a_empty_xml_clump_xml.expected,
	  data/tv_grep_a_empty_xml_dups_xml.expected,
	  data/tv_grep_a_empty_xml_empty_xml.expected,
	  data/tv_grep_a_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_category_b_all_UTF8.expected,
	  data/tv_grep_category_b_amp_xml_amp_xml.expected,
	  data/tv_grep_category_b_amp_xml_clump_xml.expected,
	  data/tv_grep_category_b_amp_xml_dups_xml.expected,
	  data/tv_grep_category_b_amp_xml_empty_xml.expected,
	  data/tv_grep_category_b_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_category_b_clump_xml_amp_xml.expected,
	  data/tv_grep_category_b_clump_xml_clump_xml.expected,
	  data/tv_grep_category_b_clump_xml_dups_xml.expected,
	  data/tv_grep_category_b_clump_xml_empty_xml.expected,
	  data/tv_grep_category_b_dups_xml_amp_xml.expected,
	  data/tv_grep_category_b_dups_xml_clump_xml.expected,
	  data/tv_grep_category_b_dups_xml_dups_xml.expected,
	  data/tv_grep_category_b_dups_xml_empty_xml.expected,
	  data/tv_grep_category_b_empty_xml_amp_xml.expected,
	  data/tv_grep_category_b_empty_xml_clump_xml.expected,
	  data/tv_grep_category_b_empty_xml_dups_xml.expected,
	  data/tv_grep_category_b_empty_xml_empty_xml.expected,
	  data/tv_grep_category_b_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_category_e_and_title_f_all_UTF8.expected,
	  data/tv_grep_category_e_and_title_f_amp_xml_amp_xml.expected,
	  data/tv_grep_category_e_and_title_f_amp_xml_clump_xml.expected,
	  data/tv_grep_category_e_and_title_f_amp_xml_dups_xml.expected,
	  data/tv_grep_category_e_and_title_f_amp_xml_empty_xml.expected,
	  data/tv_grep_category_e_and_title_f_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_category_e_and_title_f_clump_xml_amp_xml.expected,
	  data/tv_grep_category_e_and_title_f_clump_xml_clump_xml.expected,
	  data/tv_grep_category_e_and_title_f_clump_xml_dups_xml.expected,
	  data/tv_grep_category_e_and_title_f_clump_xml_empty_xml.expected,
	  data/tv_grep_category_e_and_title_f_dups_xml_amp_xml.expected,
	  data/tv_grep_category_e_and_title_f_dups_xml_clump_xml.expected,
	  data/tv_grep_category_e_and_title_f_dups_xml_dups_xml.expected,
	  data/tv_grep_category_e_and_title_f_dups_xml_empty_xml.expected,
	  data/tv_grep_category_e_and_title_f_empty_xml_amp_xml.expected,
	  data/tv_grep_category_e_and_title_f_empty_xml_clump_xml.expected,
	  data/tv_grep_category_e_and_title_f_empty_xml_dups_xml.expected,
	  data/tv_grep_category_e_and_title_f_empty_xml_empty_xml.expected,
	  data/tv_grep_category_e_and_title_f_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_category_g_or_title_h_all_UTF8.expected,
	  data/tv_grep_category_g_or_title_h_amp_xml_amp_xml.expected,
	  data/tv_grep_category_g_or_title_h_amp_xml_clump_xml.expected,
	  data/tv_grep_category_g_or_title_h_amp_xml_dups_xml.expected,
	  data/tv_grep_category_g_or_title_h_amp_xml_empty_xml.expected,
	  data/tv_grep_category_g_or_title_h_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_category_g_or_title_h_clump_xml_amp_xml.expected,
	  data/tv_grep_category_g_or_title_h_clump_xml_clump_xml.expected,
	  data/tv_grep_category_g_or_title_h_clump_xml_dups_xml.expected,
	  data/tv_grep_category_g_or_title_h_clump_xml_empty_xml.expected,
	  data/tv_grep_category_g_or_title_h_dups_xml_amp_xml.expected,
	  data/tv_grep_category_g_or_title_h_dups_xml_clump_xml.expected,
	  data/tv_grep_category_g_or_title_h_dups_xml_dups_xml.expected,
	  data/tv_grep_category_g_or_title_h_dups_xml_empty_xml.expected,
	  data/tv_grep_category_g_or_title_h_empty_xml_amp_xml.expected,
	  data/tv_grep_category_g_or_title_h_empty_xml_clump_xml.expected,
	  data/tv_grep_category_g_or_title_h_empty_xml_dups_xml.expected,
	  data/tv_grep_category_g_or_title_h_empty_xml_empty_xml.expected,
	  data/tv_grep_category_g_or_title_h_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_channel_id_channel4_com_all_UTF8.expected,
	  data/tv_grep_channel_id_channel4_com_amp_xml_amp_xml.expected,
	  data/tv_grep_channel_id_channel4_com_amp_xml_clump_xml.expected,
	  data/tv_grep_channel_id_channel4_com_amp_xml_dups_xml.expected,
	  data/tv_grep_channel_id_channel4_com_amp_xml_empty_xml.expected,
	  data/tv_grep_channel_id_channel4_com_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_channel_id_channel4_com_clump_xml_amp_xml.expected,
	  data/tv_grep_channel_id_channel4_com_clump_xml_clump_xml.expected,
	  data/tv_grep_channel_id_channel4_com_clump_xml_dups_xml.expected,
	  data/tv_grep_channel_id_channel4_com_clump_xml_empty_xml.expected,
	  data/tv_grep_channel_id_channel4_com_dups_xml_amp_xml.expected,
	  data/tv_grep_channel_id_channel4_com_dups_xml_clump_xml.expected,
	  data/tv_grep_channel_id_channel4_com_dups_xml_dups_xml.expected,
	  data/tv_grep_channel_id_channel4_com_dups_xml_empty_xml.expected,
	  data/tv_grep_channel_id_channel4_com_empty_xml_amp_xml.expected,
	  data/tv_grep_channel_id_channel4_com_empty_xml_clump_xml.expected,
	  data/tv_grep_channel_id_channel4_com_empty_xml_dups_xml.expected,
	  data/tv_grep_channel_id_channel4_com_empty_xml_empty_xml.expected,
	  data/tv_grep_channel_id_channel4_com_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_channel_name_d_all_UTF8.expected,
	  data/tv_grep_channel_name_d_amp_xml_amp_xml.expected,
	  data/tv_grep_channel_name_d_amp_xml_clump_xml.expected,
	  data/tv_grep_channel_name_d_amp_xml_dups_xml.expected,
	  data/tv_grep_channel_name_d_amp_xml_empty_xml.expected,
	  data/tv_grep_channel_name_d_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_channel_name_d_clump_xml_amp_xml.expected,
	  data/tv_grep_channel_name_d_clump_xml_clump_xml.expected,
	  data/tv_grep_channel_name_d_clump_xml_dups_xml.expected,
	  data/tv_grep_channel_name_d_clump_xml_empty_xml.expected,
	  data/tv_grep_channel_name_d_dups_xml_amp_xml.expected,
	  data/tv_grep_channel_name_d_dups_xml_clump_xml.expected,
	  data/tv_grep_channel_name_d_dups_xml_dups_xml.expected,
	  data/tv_grep_channel_name_d_dups_xml_empty_xml.expected,
	  data/tv_grep_channel_name_d_empty_xml_amp_xml.expected,
	  data/tv_grep_channel_name_d_empty_xml_clump_xml.expected,
	  data/tv_grep_channel_name_d_empty_xml_dups_xml.expected,
	  data/tv_grep_channel_name_d_empty_xml_empty_xml.expected,
	  data/tv_grep_channel_name_d_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_all_UTF8.expected,
	  data/tv_grep_eval_scalar_keys_5_amp_xml_amp_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_amp_xml_clump_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_amp_xml_dups_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_amp_xml_empty_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_clump_xml_amp_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_clump_xml_clump_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_clump_xml_dups_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_clump_xml_empty_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_dups_xml_amp_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_dups_xml_clump_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_dups_xml_dups_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_dups_xml_empty_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_empty_xml_amp_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_empty_xml_clump_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_empty_xml_dups_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_empty_xml_empty_xml.expected,
	  data/tv_grep_eval_scalar_keys_5_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_i_category_i_title_h_all_UTF8.expected,
	  data/tv_grep_i_category_i_title_h_amp_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_h_amp_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_h_amp_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_h_amp_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_h_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_h_clump_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_h_clump_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_h_clump_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_h_clump_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_h_dups_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_h_dups_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_h_dups_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_h_dups_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_h_empty_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_h_empty_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_h_empty_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_h_empty_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_h_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_i_category_i_title_j_all_UTF8.expected,
	  data/tv_grep_i_category_i_title_j_amp_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_j_amp_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_j_amp_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_j_amp_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_j_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_j_clump_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_j_clump_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_j_clump_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_j_clump_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_j_dups_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_j_dups_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_j_dups_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_j_dups_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_j_empty_xml_amp_xml.expected,
	  data/tv_grep_i_category_i_title_j_empty_xml_clump_xml.expected,
	  data/tv_grep_i_category_i_title_j_empty_xml_dups_xml.expected,
	  data/tv_grep_i_category_i_title_j_empty_xml_empty_xml.expected,
	  data/tv_grep_i_category_i_title_j_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_i_last_chance_c_all_UTF8.expected,
	  data/tv_grep_i_last_chance_c_amp_xml_amp_xml.expected,
	  data/tv_grep_i_last_chance_c_amp_xml_clump_xml.expected,
	  data/tv_grep_i_last_chance_c_amp_xml_dups_xml.expected,
	  data/tv_grep_i_last_chance_c_amp_xml_empty_xml.expected,
	  data/tv_grep_i_last_chance_c_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_i_last_chance_c_clump_xml_amp_xml.expected,
	  data/tv_grep_i_last_chance_c_clump_xml_clump_xml.expected,
	  data/tv_grep_i_last_chance_c_clump_xml_dups_xml.expected,
	  data/tv_grep_i_last_chance_c_clump_xml_empty_xml.expected,
	  data/tv_grep_i_last_chance_c_dups_xml_amp_xml.expected,
	  data/tv_grep_i_last_chance_c_dups_xml_clump_xml.expected,
	  data/tv_grep_i_last_chance_c_dups_xml_dups_xml.expected,
	  data/tv_grep_i_last_chance_c_dups_xml_empty_xml.expected,
	  data/tv_grep_i_last_chance_c_empty_xml_amp_xml.expected,
	  data/tv_grep_i_last_chance_c_empty_xml_clump_xml.expected,
	  data/tv_grep_i_last_chance_c_empty_xml_dups_xml.expected,
	  data/tv_grep_i_last_chance_c_empty_xml_empty_xml.expected,
	  data/tv_grep_i_last_chance_c_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_new_all_UTF8.expected,
	  data/tv_grep_new_amp_xml_amp_xml.expected,
	  data/tv_grep_new_amp_xml_clump_xml.expected,
	  data/tv_grep_new_amp_xml_dups_xml.expected,
	  data/tv_grep_new_amp_xml_empty_xml.expected,
	  data/tv_grep_new_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_new_clump_xml_amp_xml.expected,
	  data/tv_grep_new_clump_xml_clump_xml.expected,
	  data/tv_grep_new_clump_xml_dups_xml.expected,
	  data/tv_grep_new_clump_xml_empty_xml.expected,
	  data/tv_grep_new_dups_xml_amp_xml.expected,
	  data/tv_grep_new_dups_xml_clump_xml.expected,
	  data/tv_grep_new_dups_xml_dups_xml.expected,
	  data/tv_grep_new_dups_xml_empty_xml.expected,
	  data/tv_grep_new_empty_xml_amp_xml.expected,
	  data/tv_grep_new_empty_xml_clump_xml.expected,
	  data/tv_grep_new_empty_xml_dups_xml.expected,
	  data/tv_grep_new_empty_xml_empty_xml.expected,
	  data/tv_grep_new_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_on_after_2002_02_05_all_UTF8.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_clump_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_dups_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_amp_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_clump_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_dups_xml.expected,
	  data/tv_grep_on_after_2002_02_05_empty_xml_empty_xml.expected,
	  data/tv_grep_on_after_2002_02_05_simple_xml_x_whatever_xml.expected,
	  data/tv_grep_premiere_all_UTF8.expected,
	  data/tv_grep_premiere_amp_xml_amp_xml.expected,
	  data/tv_grep_premiere_amp_xml_clump_xml.expected,
	  data/tv_grep_premiere_amp_xml_dups_xml.expected,
	  data/tv_grep_premiere_amp_xml_empty_xml.expected,
	  data/tv_grep_premiere_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_grep_premiere_clump_xml_amp_xml.expected,
	  data/tv_grep_premiere_clump_xml_clump_xml.expected,
	  data/tv_grep_premiere_clump_xml_dups_xml.expected,
	  data/tv_grep_premiere_clump_xml_empty_xml.expected,
	  data/tv_grep_premiere_dups_xml_amp_xml.expected,
	  data/tv_grep_premiere_dups_xml_clump_xml.expected,
	  data/tv_grep_premiere_dups_xml_dups_xml.expected,
	  data/tv_grep_premiere_dups_xml_empty_xml.expected,
	  data/tv_grep_premiere_empty_xml_amp_xml.expected,
	  data/tv_grep_premiere_empty_xml_clump_xml.expected,
	  data/tv_grep_premiere_empty_xml_dups_xml.expected,
	  data/tv_grep_premiere_empty_xml_empty_xml.expected,
	  data/tv_grep_premiere_simple_xml_x_whatever_xml.expected,
	  data/tv_sort_all_UTF8.expected,
	  data/tv_sort_amp_xml_amp_xml.expected,
	  data/tv_sort_amp_xml_clump_xml.expected,
	  data/tv_sort_amp_xml_dups_xml.expected,
	  data/tv_sort_amp_xml_empty_xml.expected,
	  data/tv_sort_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_sort_by_channel_all_UTF8.expected,
	  data/tv_sort_by_channel_amp_xml_amp_xml.expected,
	  data/tv_sort_by_channel_amp_xml_clump_xml.expected,
	  data/tv_sort_by_channel_amp_xml_dups_xml.expected,
	  data/tv_sort_by_channel_amp_xml_empty_xml.expected,
	  data/tv_sort_by_channel_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_sort_by_channel_clump_xml_amp_xml.expected,
	  data/tv_sort_by_channel_clump_xml_clump_xml.expected,
	  data/tv_sort_by_channel_clump_xml_dups_xml.expected,
	  data/tv_sort_by_channel_clump_xml_empty_xml.expected,
	  data/tv_sort_by_channel_dups_xml_amp_xml.expected,
	  data/tv_sort_by_channel_dups_xml_clump_xml.expected,
	  data/tv_sort_by_channel_dups_xml_dups_xml.expected,
	  data/tv_sort_by_channel_dups_xml_empty_xml.expected,
	  data/tv_sort_by_channel_empty_xml_amp_xml.expected,
	  data/tv_sort_by_channel_empty_xml_clump_xml.expected,
	  data/tv_sort_by_channel_empty_xml_dups_xml.expected,
	  data/tv_sort_by_channel_empty_xml_empty_xml.expected,
	  data/tv_sort_by_channel_simple_xml_x_whatever_xml.expected,
	  data/tv_sort_clump_xml_amp_xml.expected,
	  data/tv_sort_clump_xml_clump_xml.expected,
	  data/tv_sort_clump_xml_dups_xml.expected,
	  data/tv_sort_clump_xml_empty_xml.expected,
	  data/tv_sort_dups_xml_amp_xml.expected,
	  data/tv_sort_dups_xml_clump_xml.expected,
	  data/tv_sort_dups_xml_dups_xml.expected,
	  data/tv_sort_dups_xml_empty_xml.expected,
	  data/tv_sort_empty_xml_amp_xml.expected,
	  data/tv_sort_empty_xml_clump_xml.expected,
	  data/tv_sort_empty_xml_dups_xml.expected,
	  data/tv_sort_empty_xml_empty_xml.expected,
	  data/tv_sort_simple_xml_x_whatever_xml.expected,
	  data/tv_to_latex_all_UTF8.expected,
	  data/tv_to_latex_amp_xml_amp_xml.expected,
	  data/tv_to_latex_amp_xml_clump_xml.expected,
	  data/tv_to_latex_amp_xml_dups_xml.expected,
	  data/tv_to_latex_amp_xml_empty_xml.expected,
	  data/tv_to_latex_amp_xml_empty_xml_empty_xml_clump_xml.expected,
	  data/tv_to_latex_clump_xml_amp_xml.expected,
	  data/tv_to_latex_clump_xml_clump_xml.expected,
	  data/tv_to_latex_clump_xml_dups_xml.expected,
	  data/tv_to_latex_clump_xml_empty_xml.expected,
	  data/tv_to_latex_dups_xml_amp_xml.expected,
	  data/tv_to_latex_dups_xml_clump_xml.expected,
	  data/tv_to_latex_dups_xml_dups_xml.expected,
	  data/tv_to_latex_dups_xml_empty_xml.expected,
	  data/tv_to_latex_empty_xml_amp_xml.expected,
	  data/tv_to_latex_empty_xml_clump_xml.expected,
	  data/tv_to_latex_empty_xml_dups_xml.expected,
	  data/tv_to_latex_empty_xml_empty_xml.expected,
	  data/tv_to_latex_simple_xml_x_whatever_xml.expected: Now that the
	  filter programmes can take more than one file on the command
	  line, we can write some tests that use this.	There are a few for
	  the sake of testing the multifile functionality, but also we can
	  speed up the test suite because what used to take ten runs of
	  tv_foo can now be done in one run giving ten input files.

	  We don't test all possible lists of files, only a few of the
	  possible pairs, but still it bloats the test suite to
	  unmanageably large numbers of tests (over 1000).  I've remedied
	  that by defining a smaller set of tests, including running each
	  filter program on every input file at once, and making this the
	  default.  If you have a fast computer or time to spare you can
	  get the complete set of tests with the --full option.

	  The files like tv_cat_all_UTF8.expected are for the testing of
	  every input file (actually, every input file with UTF-8 encoding)
	  at once.

2002-09-23 08:49  epaepa

	* filter/tv_sort: Store the original ordering of programmes to
	  guarantee a stable sort when two different programmes are not
	  comparable.  (Which should never happen in sane input, but...)

	  Added prototype declaration for data_eq().

2002-09-23 08:45  epaepa

	* lib/XMLTV.pm.in: Properly fixed the bug with empty files, so it
	  works when you have two empty files in a row on the command line.
	  Cleaned up the whitespace handling: it should be stripped on
	  reading, but not on writing (no need to do both).

2002-09-23 07:53  epaepa

	* t/data/: clump.xml, tv_cat_whitespace_xml.expected,
	  tv_extractinfo_en_whitespace_xml.expected,
	  tv_grep_a_whitespace_xml.expected,
	  tv_grep_category_b_whitespace_xml.expected,
	  tv_grep_category_e_and_title_f_whitespace_xml.expected,
	  tv_grep_category_g_or_title_h_whitespace_xml.expected,
	  tv_grep_channel_id_channel4_com_whitespace_xml.expected,
	  tv_grep_channel_name_d_whitespace_xml.expected,
	  tv_grep_eval_scalar_keys_5_whitespace_xml.expected,
	  tv_grep_i_category_i_title_h_whitespace_xml.expected,
	  tv_grep_i_category_i_title_j_whitespace_xml.expected,
	  tv_grep_i_last_chance_c_whitespace_xml.expected,
	  tv_grep_new_whitespace_xml.expected,
	  tv_grep_on_after_2002_02_05_whitespace_xml.expected,
	  tv_grep_premiere_whitespace_xml.expected,
	  tv_sort_by_channel_whitespace_xml.expected,
	  tv_sort_whitespace_xml.expected,
	  tv_to_latex_whitespace_xml.expected, whitespace.xml: A new test
	  case to catch a bug with whitespace handling: some elements have
	  whitespace stripped on output, so you'd think it would be ignored
	  on input, but at present it's not.

2002-09-22 07:15  epaepa

	* filter/tv_extractinfo_en: Changed to use the callback style -
	  although at present it just gathers all the programmes into a big
	  list as before.

2002-09-22 07:11  epaepa

	* filter/tv_extractinfo_en: Moved the list of programme handlers
	  into munge().

2002-09-22 07:08  epaepa

	* filter/tv_extractinfo_en: Small refactoring: new routine munge()
	  taking a programme and returning a list of programmes.  It's not
	  much use yet because it still needs the whole list of programmes
	  available in case there are others in the same clump.

2002-09-22 04:37  epaepa

	* lib/XMLTV.pm.in: parsefiles_callback(): Now works when one of the
	  input files is empty - previously the 'next file' routine would
	  be called only when a programme was read, and so a file without
	  programmes would not trigger it.

2002-09-21 12:53  epaepa

	* lib/XMLTV.pm.in: Give a clearer indication of what is going on
	  with unspecified encodings.

2002-09-21 11:16  epaepa

	* t/test_filters.t: Generalized to allow more than one input file
	  for each test (although this is not yet used).  Run the commands
	  with 'perl -Iblib/lib ...' rather than the versions installed on
	  the system (I can't believe this wasn't fixed earlier).

2002-09-21 11:13  epaepa

	* lib/XMLTV.pm.in: Taken account of the fact that XML::Twig's
	  encoding() method may return undef and so the encoding is
	  unknown.

2002-09-21 11:07  epaepa

	* filter/tv_grep.in: Cosmetic change.

2002-09-21 11:04  epaepa

	* filter/tv_cat: Added a check that the encoding callback doesn't
	  get called twice.  It should be called just once, before all the
	  others - and this remains true even if parsing several files.

2002-09-21 09:07  rmeden

	* README.tv_check, choose/tv_check/README.tv_check,
	  choose/tv_check/tv_check, choose/tv_check/tv_check_doc.html:
	  Correct my cpan email address.. oops

2002-09-21 07:29  epaepa

	* filter/tv_sort: tv_sort was using Data::Dumper for a deep
	  equality test between two programmes.  It would stringify them
	  both and check the strings were equal.  As the comment said 'we
	  assume that Data::Dumper lists hash keys in a consistent order'.
	  Alas, this is not the case, at least not for all perls.  I've had
	  to write an equality routine to compare different kinds of data
	  structures (since there doesn't seem to be one already, amazingly
	  enough) and call that instead.

	  This fixes a couple of test failures with perl 5.005_03, which I
	  have decided to keep supporting for a while longer.

2002-09-21 06:48  epaepa

	* filter/: tv_extractinfo_en, tv_grep.in: Modified the manual pages
	  a bit to stop older pod2man complaining.

2002-09-21 04:11  epaepa

	* filter/: tv_cat, tv_extractinfo_en, tv_grep.in, tv_sort,
	  tv_to_latex: Changed the filter programs to use parsefiles(), so
	  they can take multiple filenames on the command line.  (Apart
	  from tv_cat, which was already changed to use
	  parsefiles_callback(); I've just updated its documentation.)

2002-09-20 16:58  epaepa

	* MANIFEST, t/data/empty.xml, t/data/tv_cat_empty_xml.expected,
	  t/data/tv_extractinfo_en_empty_xml.expected,
	  t/data/tv_grep_a_empty_xml.expected,
	  t/data/tv_grep_category_b_empty_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_empty_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_empty_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_empty_xml.expected,
	  t/data/tv_grep_channel_name_d_empty_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_empty_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_empty_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_empty_xml.expected,
	  t/data/tv_grep_i_last_chance_c_empty_xml.expected,
	  t/data/tv_grep_new_empty_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_empty_xml.expected,
	  t/data/tv_grep_premiere_empty_xml.expected,
	  t/data/tv_sort_by_channel_empty_xml.expected,
	  t/data/tv_sort_empty_xml.expected,
	  t/data/tv_to_latex_empty_xml.expected: I'm feeling the urge to
	  put some more tests in for tv_cat.  Like checking that
	  concatenating a file with itself and then tv_sorting is the
	  identity, or that concatenating X and the empty file gives X.  So
	  far I have just spotted that there was no test XML file for an
	  empty listing, and added one.  More tests to follow.

2002-09-20 16:54  epaepa

	* filter/tv_cat: Rewritten to use the stream-based interface: this
	  means that tv_cat has gradual output (rather than reading
	  everything first then outputting it all at once) and takes less
	  memory.

2002-09-20 15:18  epaepa

	* lib/XMLTV.pm.in: I had forgotten to honour the $KEEP_ENCODING
	  flag in the callback interface - fixed.

	  Extended the multiple-files stuff to the old-style lump-of-data
	  interface: now instead of parsefile() there is parsefiles().
	  It's implemented as a wrapper around the callback interface.

2002-09-20 14:13  epaepa

	* mkdist, lib/XMLTV.pm.in: Straight after releasing a new
	  stream-based reading interface with 0.5.1, I go and deprecate it.
	   Now there are callbacks for encoding and credits as well as
	  channels and programmes; it just works out simpler that way.	The
	  new routine parsefiles_callback() reads more than one file and
	  concatenates them in an exceedingly cunning way, by having
	  several XML::Twigs on the go at once, so that you can get all the
	  channels and then lazily read programmes from each file in turn.
	  I plan to make tv_cat use this so it won't require so much memory
	  (not that tv_cat gets used much anyway).  Also the other filter
	  programs, when I switch them to the stream-based interface, will
	  get for free the ability to read from multiple input files in the
	  Unix tradition.

	  Noticed another place where I'd forgotten to update the version
	  number, and added it to mkdist.

2002-09-20 06:22  epaepa

	* Makefile.PL: Trying to automate making a Windows binary release.
	  Apart from the executables themselves, because you need some
	  payware tool for that.  But everything else (documentation and
	  share/ files).  This is done with a new target 'windows_dist'
	  which does a normal install and then removes / rearranges files
	  to make them suitable to give to a Windows user.  It's a bit of a
	  kludge but so is everything with MakeMaker.

	  I was held up doing this by a couple of weird bugs in MakeMaker:
	  relative paths as the install target tend to screw up, and the
	  same happens if you do 'perl Makefile.PL PREFIX=...', build, and
	  then try to reconfigure with a different prefix.  (You need to
	  'make distclean' to remove stale files first.)  I've tried to
	  warn the user about both of these in the Makefile.PL.

2002-09-20 03:51  epaepa

	* Makefile.PL: Oops, forgot to update the version number.  This
	  meant the 0.5.1 release installed its documentation in
	  xmltv-0.5/, hopefully that is the only bug it caused.

	  At least mkdist checks for this now, so it can't happen again
	  (cough).

2002-09-20 03:49  epaepa

	* mkdist: Made the version number check do Makefile.PL as well as
	  README.  I've removed the auto-update-and-check-in code because I
	  don't like the idea of checking things in without a human
	  inspecting them first (even if it's unlikely mkdist would really
	  screw up).

2002-09-19 20:32  rmeden

	* README.tv_check, choose/tv_check/README.tv_check: minor
	  documentation changes based on alpha user feedback

2002-09-19 17:15  epaepa

	* README: Oops, got today's date wrong :-P.

2002-09-19 17:13  epaepa

	* grab/na/tv_grab_na: Cosmetic change to the output to make it
	  consistent with what XMLTV::Writer produces.	I think it might
	  have been me who changed it to be inconsistent some time earlier.
	  Oh well.

2002-09-19 17:12  epaepa

	* grab/de/tv_grab_de: Updated URLs in documentation.

2002-09-19 16:55  epaepa

	* MANIFEST, lib/XMLTV.pm.in, t/data/amp.xml,
	  t/data/tv_cat_amp_xml.expected,
	  t/data/tv_extractinfo_en_amp_xml.expected,
	  t/data/tv_grep_a_amp_xml.expected,
	  t/data/tv_grep_category_b_amp_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_amp_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_amp_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_amp_xml.expected,
	  t/data/tv_grep_channel_name_d_amp_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_amp_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_amp_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_amp_xml.expected,
	  t/data/tv_grep_i_last_chance_c_amp_xml.expected,
	  t/data/tv_grep_new_amp_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_amp_xml.expected,
	  t/data/tv_grep_premiere_amp_xml.expected,
	  t/data/tv_sort_amp_xml.expected,
	  t/data/tv_sort_by_channel_amp_xml.expected,
	  t/data/tv_to_latex_amp_xml.expected: The change to use
	  KeepEncoding broke the handling of entities (XML::Twig takes
	  'keep the encoding' a bit too literally) and there was no test
	  case for entities.  Fixed both these problems.

2002-09-19 16:12  epaepa

	* t/test_filters.t: Avoid uninitialized value warning when the
	  expected output for a test did not exist (and was created).

2002-09-19 15:59  epaepa

	* README: Updated for version 0.5.1.  I think I'm going to release
	  it now, no point waiting any longer.

2002-09-19 14:34  epaepa

	* choose/tv_check/: README.tv_check, tv_check.bat,
	  tv_check_doc.html: Spelling fixes.

2002-09-16 18:11  epaepa

	* grab/uk/tv_grab_uk.in: Removed duplicate 'use Tie::RefHash' line
	  :-P.

2002-09-16 18:10  epaepa

	* filter/tv_extractinfo_en: Removed 'use Tie::RefHash' since that
	  module is no longer used in this script.

2002-09-16 18:04  epaepa

	* grab/uk/Ananova_Channel.pm: Attempt to work around lack of
	  Tie::RefHash::Nestable (which is new in perl 5.6.1).	I *think*
	  this works but it's not very tested.

2002-09-16 15:56  epaepa

	* lib/XMLTV.pm.in, t/data/tv_cat_test_livre_xml.expected,
	  t/data/tv_extractinfo_en_test_livre_xml.expected,
	  t/data/tv_grep_a_test_livre_xml.expected,
	  t/data/tv_grep_category_b_test_livre_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_test_livre_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_livre_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_test_livre_xml.expected,
	  t/data/tv_grep_channel_name_d_test_livre_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_livre_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_test_livre_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_test_livre_xml.expected,
	  t/data/tv_grep_i_last_chance_c_test_livre_xml.expected,
	  t/data/tv_grep_new_test_livre_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_test_livre_xml.expected,
	  t/data/tv_grep_premiere_test_livre_xml.expected,
	  t/data/tv_sort_by_channel_test_livre_xml.expected,
	  t/data/tv_sort_test_livre_xml.expected: Following the large
	  number of bug reports from Debian users whose character encodings
	  got screwed up, I have decided to turn on the newly added
	  $KEEP_ENCODING flag in XMLTV.pm.

	  This means that grabbing a data source in (say) Latin-1, and then
	  processing the data further, will keep the original encoding and
	  not change it to UTF-8.  Not ideal but at least it should work
	  the same on all systems.

2002-09-16 15:53  epaepa

	* grab/uk/tv_grab_uk.in: Griping about another thing to add to the
	  XMLTV::Ask library.

2002-09-15 13:18  rmeden

	* choose/tv_check/tv_check.bat: added line to set TZ

2002-09-15 12:18  rmeden

	* choose/tv_check/tv_check: fix bug with AM/PM conversion (how this
	  was working is beyond me) remove error message about no show file
	  if --myreplay will create it.

2002-09-15 12:11  epaepa

	* grab/uk/tv_grab_uk.in, lib/XMLTV.pm.in: XMLTV.pm.in: added new
	  cat_noprogrammes() function which combines data for encoding,
	  credits, and channels - but not programmes.  This is in line with
	  the general policy of allowing programmes to be processed
	  individually rather than in one big lump.

	  tv_grab_uk.in: changed to use cat_noprogrammes() instead of just
	  cat() in an effort to reduce the working set size, or at least to
	  give it better locality.  Previously tv_grab_uk would rearrange
	  the order of programmes and then output them by channel, which
	  thrashed the disk a lot.  This is not the last change to
	  tv_grab_uk to improve scalability, just an intermediate point to
	  commit a working version.

2002-09-15 08:06  epaepa

	* grab/uk/tv_grab_uk.in: Fixed a warning message to be more
	  informative.

2002-09-14 16:55  epaepa

	* grab/uk/tv_grab_uk.in: The warn() handler around XMLTV::parse()
	  now deals correctly with undefined warning messages.	I didn't
	  think there were any, but there you go.

2002-09-14 14:02  epaepa

	* grab/uk/tv_grab_uk.in: Give better warning / fatal messages if
	  parsing the contents of a URL fails.

2002-09-13 18:22  epaepa

	* choose/tv_check/tv_check: Removed warning about episode-nums that
	  weren't understood.  This is temporary until the whole
	  episode-num system gets replaced in some future release.

2002-09-13 09:35  epaepa

	* t/data/: test_empty.xml, tv_cat_test_empty_xml.expected,
	  tv_extractinfo_en_test_empty_xml.expected,
	  tv_grep_a_test_empty_xml.expected,
	  tv_grep_category_g_or_title_h_test_empty_xml.expected,
	  tv_grep_eval_scalar_keys_5_test_empty_xml.expected,
	  tv_grep_on_after_2002_02_05_test_empty_xml.expected,
	  tv_sort_by_channel_test_empty_xml.expected,
	  tv_sort_test_empty_xml.expected,
	  tv_to_latex_test_empty_xml.expected: test_empty.xml was invalid
	  because it didn't have a 'channel' attribute for its lone
	  programme.  Fixed.

2002-09-13 09:34  epaepa

	* lib/: TZ.pm, XMLTV.pm.in: Changed UT to UTC; added a warning in
	  the XMLTV.pm documentation that the returned character encoding
	  may vary (this prepares for a possible change making
	  $KEEP_ENCODING documented).

2002-09-13 09:32  epaepa

	* grab/uk/: UK_TZ.pm, tv_grab_uk.in: Changed 'UT' mistake to UTC;
	  don't assume that XMLTV data is always UTF-8.

2002-09-13 09:29  epaepa

	* filter/: tv_extractinfo_en, tv_grep.in, tv_sort, tv_to_latex: I
	  had some misunderstanding about dates - I was writing 'UT' as the
	  timezone thinking this was the same as UTC give or take a few
	  seconds.  But some book I read says that UT is twelve hours out
	  (why?).  So I've changed it to UTC.

	  tv_to_latex: try to cope with both UTF-8 and Latin-1 input files,
	  and do something vaguely sensible with other weird encodings.

2002-09-13 09:24  epaepa

	* choose/tv_pick/tv_pick_cgi: Produce the output HTML in the same
	  character encoding as the programme data, without assuming it
	  will always be UTF-8.

2002-09-13 09:22  epaepa

	* choose/tv_check/tv_check: Don't assume the encoding is UTF-8, try
	  to use whatever encoding the programme data uses.

2002-09-12 00:15  rmeden

	* choose/tv_check/tv_check: bugfix to prevent warnings if certain
	  values are null

2002-09-11 23:14  rmeden

	* choose/tv_check/tv_check: fixed bug where --myreplaytv shows at
	  12pm stored as 2400 not 1200

2002-09-10 09:33  epaepa

	* lib/XMLTV.pm.in: Experimental code trying to work round a bug
	  reported by Joe Drew.  The $KEEP_ENCODING constant, if true,
	  turns on XML::Twig's KeepEncoding() option and tries to make the
	  encoding returned from read_data() and the like match the input
	  file.  This is not as good as forcing everything to UTF-8, but it
	  is better than the reported behaviour of returning Latin-1
	  strings saying they were UTF-8.  (I cannot reproduce that bug
	  despite upgrading XML::Twig and XML::Parser to the same versions;
	  I think it might be a perl 5.8 thing.)

	  This contradicts the documentation, which says the encoding will
	  always be returned as UTF-8.	At present I think that tv_cat is
	  the only filter program which will work with the new behaviour,
	  but that should be sufficient for testing.

2002-09-10 06:25  epaepa

	* filter/tv_extractinfo_en, grab/de/tv_grab_de: Fixed
	  Term::ProgressBar detection.

2002-09-10 06:24  epaepa

	* lib/XMLTV.pm.in: cat(): In an attempt to remove some magic
	  'UTF-8' strings from the source, it now just checks that the
	  encoding is the same for all the files to be concatenated (like
	  already happens for credits).

	  It looks like I'll have to remove the UTF-8 assumptions
	  altogether, this is at least a first step.

2002-09-10 06:22  epaepa

	* grab/uk/tv_grab_uk.in: After spending several hours last night
	  looking worriedly at the modem lights and thinking 'hmm, I didn't
	  know tv_grab_uk was this slow, even on a 28.8 connection and
	  P200', I have improved the status messages so there's more
	  description of what is happening.  Most important among these
	  improvements is making the progress bar detection actually work -
	  previously it wouldn't detect that Term::ProgressBar was
	  installed and would remain silent.  Also, downloading now happens
	  first of all with parsing later, so you can go offline a bit
	  sooner.

	  The real reason it took so long is that I had pressed Return to
	  get the default 'yes' answer to 'download radio listings'.  As I
	  announced on xmltv-users soon after 0.5 was released, this option
	  is stupid because the new Ananova site has hundreds of radio
	  channels.  Now you must download them individually.

2002-09-10 06:18  epaepa

	* Makefile.PL: Since CGI::Carp is responsible for making all
	  warning messages look Martian, and it's included with the CGI
	  module anyway, we can just check for CGI and not bother loading
	  CGI::Carp.

	  Switched from if (defined $@) to just if ($@), which seems to be
	  correct.

2002-09-09 19:12  epaepa

	* Makefile.PL: Loading the CGI::Carp module does strange things to
	  warn(), so use print STDERR instead.

2002-09-09 07:25  epaepa

	* lib/XMLTV.pm.in: parse_callback(), parsefile_callback(): new
	  callback-based interface for incremental reading of XMLTV files.
	  This isn't used by anything yet, and isn't thoroughly tested
	  (though it seems to work); it probably won't be used in the 0.5.1
	  release but I want to start changing the filter programs to it
	  soon afterwards.

2002-09-08 18:45  epaepa

	* MANIFEST: Adding tv_check.bat to the MANIFEST - it is not
	  installed but it is part of the source distribution.

2002-09-08 04:54  epaepa

	* lib/Ask.pm: ask(): changed to be more robust, removing leading
	  and trailing whitespace instead of chopping off the last
	  character.  This might fix Robert E.'s installation problems (I
	  think he is using Windows).

2002-09-07 15:34  epaepa

	* grab/de/tv_grab_de: Added a comment mentioning the backup server
	  for de/at listings.

2002-09-07 15:28  epaepa

	* Makefile.PL: Adding more quotation marks around hash keys, which
	  seem to be required by newer perls.  I thought => was meant to
	  count as quoting its left argument.  Oh well.

2002-09-06 22:47  rmeden

	* choose/tv_check/tv_check.bat: Sample batch file for folks using
	  the windows exe version

2002-09-06 21:59  rmeden

	* choose/tv_check/tv_check_doc.html: Updated docs for
	  --myreplaytv.com option.

2002-09-06 21:57  rmeden

	* README.tv_check, choose/tv_check/README.tv_check: Removed
	  references to excessive CPU and memory usage. Now that we use
	  XML::Twig, it doesn't appear to be a problem

2002-09-06 10:13  rmeden

	* choose/tv_check/tv_check: Misc bug fixes

2002-09-05 23:21  rmeden

	* choose/tv_check/README.tv_check, README.tv_check: README updates.
	  Also sync'd the 2 README.tv_check files.

2002-09-05 23:19  rmeden

	* choose/tv_check/tv_check: misc bug fixes mostly related to new
	  XMLTV.pm

2002-09-05 16:49  epaepa

	* Makefile.PL: Changed the setup questions so that they don't warn
	  'you will need Foo' when Foo is already installed.  If the
	  prerequisites are installed, then the default answer to the
	  installation question is 'yes'.

2002-09-05 14:04  epaepa

	* lib/XMLTV.pm.in: After each <channel> or <programme> element has
	  been read, call flush() to throw away those parts of the XML tree
	  which have been processed.

	  This gives a big reduction in memory usage.  With 0.5 a process
	  reading in a week's UK listings took 41Mbyte.  Switching to
	  XML::Twig cut that to 25Mbyte and now adding flush() takes it to
	  13Mbyte.  But I would still like to do better of course :-).

2002-09-04 22:39  rmeden

	* choose/tv_check/tv_check: added --myreplaytv option to grab info
	  from myreplaytv.com for ReplayTV owners.

2002-09-04 17:00  epaepa

	* Makefile.PL, README, grab/uk/tv_grab_uk.in: tv_grab_uk.in: use
	  XML::Twig instead of XML::DOM for parsing Ananova's weird
	  'regions' XML.  This removes the last dependency on XML::DOM.

2002-09-04 15:43  epaepa

	* Makefile.PL, README, filter/tv_to_latex, lib/XMLTV.pm.in:
	  Reimplemented the parsing code in XMLTV.pm using XML::Twig
	  instead of XML::DOM.	Thanks to Leif Van Horn for the idea,
	  although in the end I didn't use his code.  Really all that
	  needed changing were the wrapper routines like get_attrs() around
	  the DOM tree methods.  The new implementations, wrapping
	  XML::Twig, are quite a bit shorter :-).

	  The interface to the XMLTV module is just the same as before,
	  reading all the data in a big lump.  A lazy-reading interface is
	  needed to get the best out of XML::Twig, and I will implement
	  that later.  But already there is an 18% speed improvement (on
	  the test suite) from the old version.

	  I can't quite eliminate XML::DOM because it is still used by
	  tv_grab_uk to parse Ananova's weird 'regions' page.  But that
	  will be next.

	  Also fixed the installation of section 1 manual pages.

2002-09-04 11:54  epaepa

	* lib/XMLTV.pm.in: Changed one more DOM call to use the wrapper
	  routines.  This time it was getTagName(), which turns out to be
	  the same as getNodeName() and hence get_name().

2002-09-04 10:36  epaepa

	* lib/XMLTV.pm.in: Abstracted away another DOM method -
	  $n->getNodeName() becames get_name($n).

2002-09-04 10:16  epaepa

	* lib/XMLTV.pm.in: The file parsing code includes severel wrappers
	  around XML::DOM.  For example dom_attrs() returns a hashref of a
	  node's attributes, after skipping over attributes beginning with
	  'x-'.  I've changed the names of these from dom_whatever() to
	  get_whatever(), so that they can become wrappers around some
	  other library such as XML::Twig.

2002-09-03 07:27  epaepa

	* Makefile.PL, README, choose/tv_pick/tv_pick_cgi,
	  filter/tv_to_latex, grab/de/tv_grab_de: Done some more to cut
	  down on dependencies.  Now tv_pick_cgi and tv_grab_na are
	  optional in Makefile.PL, because they both have unusual
	  dependencies that aren't shared by the other programs.  I've also
	  made Unicode::String and Compress::Zlib kludgealikes, so these
	  two modules have been downgraded to 'recommended'.

	  This all needs testing.

2002-09-01 13:00  epaepa

	* lib/Ask.pm: Answers should be read from standard input and never
	  from command-line arguments...

2002-09-01 12:55  epaepa

	* MANIFEST, Makefile.PL, choose/tv_check/README.tv_check,
	  grab/Ask.pm, lib/Ask.pm: Because tv_check has dependencies on Tk
	  and Tk::TableMatrix, which the other parts of xmltv don't, I have
	  made it optional.  The Makefile.PL now asks whether you want to
	  install tv_check.  I may do the same to other parts of XMLTV if
	  they require non-standard modules.

	  This meant moving Ask.pm out of the grab/ directory (which was a
	  slightly silly place for it anyway) and into lib/, since it is
	  now used by the whole project and not just by the grabbers.  The
	  Makefile.PL loads this library 'by hand' and uses it to prompt
	  about tv_check.

	  I've also changed tv_check's README to standardize on the name
	  tv_check not TVCHECK or tvcheck... I hope it's author doesn't
	  mind too much :-(.

2002-09-01 06:53  epaepa

	* ChangeLog.old, README, xmltv.dtd, analyse_tvprefs/README,
	  analyse_tvprefs/analyse_tvprefs, attic/tv_grab_nl,
	  choose/tv_check/tv_check_doc.html, choose/tv_pick/tv_pick_cgi,
	  filter/tv_cat, filter/tv_extractinfo_en, filter/tv_grep.in,
	  filter/tv_sort, filter/tv_to_latex, grab/de/tv_grab_de,
	  grab/na/tv_grab_na, grab/uk/tv_grab_uk.in,
	  grab/uk/xmltv_ananova.dtd, lib/XMLTV.pm.in, t/parallel_test,
	  t/test_filters.t: Updated references to the XMLTV website, and to
	  my email address.  Purged all traces of my old userid.

2002-08-30 17:35  epaepa

	* Makefile.PL: Fixed (I hope) that problem with certain MakeMaker
	  versions.  It happened because to get uninstall, I was physically
	  manipulating the generated Makefile, but some versions of
	  MakeMaker produced text slightly different to what was expected.
	  Now I hope the code is more robust.

2002-08-30 17:23  epaepa

	* Makefile.PL, README: Added Tk and Tk::TableMatrix to the list of
	  dependencies, they were missing before.

2002-08-29 15:56  epaepa

	* Makefile.PL, README, choose/tv_check/tv_check,
	  choose/tv_pick/tv_pick_cgi, filter/tv_cat,
	  filter/tv_extractinfo_en, filter/tv_grep.in, filter/tv_sort,
	  filter/tv_to_latex, grab/Ask.pm, grab/Memoize.pm,
	  grab/de/tv_grab_de, grab/uk/Ananova_Channel.pm, grab/uk/UK_TZ.pm,
	  grab/uk/tv_grab_uk.in, lib/Clumps.pm, lib/XMLTV.pm.in,
	  t/add_time_info, t/parallel_test: Well, up till now I've resisted
	  calls to trim the number of modules required by xmltv.  I said
	  the answer was not to reduce library use but rather to make it
	  easy for users to install those libraries, by providing them as
	  packages.  But after moving to a new system myself I realize that
	  this attitude was too optimistic.  Whatever the merits in
	  principle of packaging the libraries separately, in practice it
	  is a lot of effort to keep track of those dependencies.

	  As a starting point I have reduced the dependencies to packages
	  which come as standard with Linux-Mandrake 8.2.  This meant
	  removing dependencies on obscure modules (many of which I wrote
	  myself).  Some, like Tie::IxHash and Sort::Versions, turned out
	  not be used anywhere, although they were once.  Others like
	  Log::TraceMessages and Memoize can be replaced with stub routines
	  when they are not found, and there are some like
	  Lingua::Preferred where doing this gives a small loss of
	  functionality, but not anything that most users will notice.

	  On the other hand, I noticed that tv_pick.cgi requires the CGI
	  module, which had slipped through the dependency net until now
	  :-(.	At least it is a common module which will probably be
	  packaged (it is in Mandrake).

	  I've changed the Makefile.PL and README accordingly; building
	  will warn about 'recommended' modules which are missing but they
	  don't stop the Makefile being written.

	  I've run many of the altered programs on my own machine but more
	  testing is needed.

	  Also improved the 'please run --configure' message in tv_grab_uk.

2002-08-08 08:50  jveldhuis

	* grab/na/ZapListings.pm: added languages Khmer and Ojibwa

2002-06-24 18:08  rmeden

	* choose/tv_check/tv_check: Fix bug with ReplayTV conflict checker.
	  Extra episodes were not correctly being added to the conflict
	  search.

2002-06-14 11:54  jveldhuis

	* grab/na/tv_grab_na: added --list-channels to --configure command
	  line options, works similar to --list-providers.

2002-06-14 11:20  jveldhuis

	* grab/na/tv_grab_na: fixed perldoc and usage a bit

2002-06-14 11:16  jveldhuis

	* grab/na/tv_grab_na: fixed help messages that said config file
	  lands in $HOME/.tv_grab_na

2002-06-14 11:16  jveldhuis

	* grab/na/tv_grab_na: fixed help message that was a bit too long

2002-06-14 11:08  jveldhuis

	* grab/na/tv_grab_na: 1. undid Ed's Date_Init() call to explictly
	  set TZ for windows exectuables,    didn't work the way we wanted.

	  2. reordered some of the --configure help messages (more logical)

	  3. added support for using tv_grab_na to dump list of providers
	  for	 guis (such as Andy's FreeGuide) that want to reproduce the
	     configure process in a gui. Usage is:	 --configure
	  --list-providers --postalcode <code>	  or	   --configure
	  --list-providers --zipcode <code>    Output newline separated
	  list of providers ids and their descriptions..     Note: --retry
	  settings don't have any effect using --list-providers.

2002-05-29 12:29  epaepa

	* grab/na/tv_grab_na: Call Date_Init() at the start of the script,
	  to avoid timezone problems on Windows.

2002-05-29 12:25  epaepa

	* grab/uk/tv_grab_uk.in: fix_ananova_xml(): common checks for
	  broken Ananova XML output.

	  Removed dependency on Sort::Versions, it is no longer needed now
	  that the Ananova ids are purely numeric.

2002-05-29 08:21  epaepa

	* t/parallel_test: Removed fixups that were needed for transition
	  from old to new grabber.  Check that temporary directory exists.

2002-05-27 11:49  epaepa

	* README: Removed duplicate dependency.

2002-05-27 11:48  epaepa

	* README: XML::DOM depends on XML::Parser.

2002-05-27 03:54  epaepa

	* todo/TASKS.epa: Added some artefacts I noticed in the new Ananova
	  listings to the task list (ie, they should be fixed sometime).

2002-05-23 06:22  epaepa

	* mkdist: Modified mkdist to check out its working copy and build
	  tarballs in a temporary directory, _not_ ./xmltv/.  This is
	  because running mkdist in the working copy could otherwise create
	  great confusion, especially with the build process which
	  recursively looks for Makefile.PLs to execute...

2002-05-23 06:08  epaepa

	* Makefile.PL: Last-minute fix: the toplevel README is the one to
	  be installed, not the now-removed doc/README.

2002-05-23 06:02  epaepa

	* mkdist: Added my personal t/data/do_not_dist/ directory to
	  @toremove.  Hope it works.

2002-05-23 05:59  epaepa

	* MANIFEST: Updated MANIFEST with recently added and removed
	  documentation files.	(BTW, these docs need not be installed -
	  they are there as a guide to the source tree.)

2002-05-23 05:54  epaepa

	* choose/tv_check/README.tv_check: Wrapped lines to 70 columns -
	  hope you don't mind Robert.

2002-05-23 05:50  epaepa

	* analyse_tvprefs/README: Token documentation on the
	  analyse_tvprefs tool.

2002-05-23 05:47  epaepa

	* doc/code/grabber_interface: The grabber_interface file is
	  currently just a placeholder, but at least it now contains a
	  small amount of useful information.

2002-05-23 05:43  epaepa

	* doc/QuickStart: Updated to reflect that binaries will be
	  installed in the PATH and no longer just run from the current
	  directory.

2002-05-23 05:39  epaepa

	* doc/README: Removed the README from version 0.3.1 which was lying
	  around in this directory the whole time :-P.

2002-05-23 05:33  epaepa

	* lib/XMLTV.pm.in: Strip whitespace on output as well as input;
	  made it explicit that this happens.

2002-05-23 05:32  epaepa

	* filter/tv_grep.in: Added a note about the clumpidx fixing which
	  stops tv_grep being fully idempotent.

2002-05-23 05:30  epaepa

	* t/test_filters.t: Keep track of number of tests correctly
	  (including if some idempotence tests are skipped.)

	  It turns out that tv_grep is not 100% idempotent due to clumpidx
	  fixing.

2002-05-23 05:29  epaepa

	* todo/TASKS.epa: Crossed one more item off the task list.  There
	  are a few more 'todo' items which aren't on this list,
	  unfortunately.

2002-05-23 05:28  epaepa

	* README: Added a warning about that ridiculously slow test suite
	  :-).

2002-05-23 05:27  epaepa

	* README: Updated README for the real 0.5 release.

2002-05-23 04:28  epaepa

	* grab/uk/README: Wrote a quick guide to the tv_grab_uk source
	  code.

2002-05-23 04:15  epaepa

	* grab/uk/xmltv_ananova.dtd: This is the DTD used by Ananova for
	  their XMLTVish listings, included as documentation.

2002-05-23 04:13  epaepa

	* grab/de/tv_grab_de: Fix an error in the served XML pages (empty
	  <length> element).

2002-05-22 12:09  epaepa

	* grab/uk/: Ananova_Channel.pm, channel_ids, tv_grab_uk.in: This is
	  it, the new version of the UK grabber.  This fetches XML
	  documents from Ananova's server, munges them a bit and outputs
	  them.  It hasn't had quite as much testing as I would have liked,
	  but because the old listings feed stopped I have to commit this
	  now.	Also the code is not as clean as it could be, but ditto.

	  Another problem is slowness and bloatedness; it parses the XML
	  received and this means a lot of memory usage with the current
	  XMLTV.pm.  Still, on a fast machine the main bottleneck will be
	  speed of download from the server (which is very slow), so I
	  don't feel too guilty.

2002-05-22 09:29  epaepa

	* grab/uk/channel_pkgs/: arts, entertainment, film, gratis,
	  lifestyle, misc, scifi, shop, sport: Removed some dud channels
	  from the predefined packages, and updated a few more to use newer
	  ids.	(In principle the XMLTV ids are supposed never to change,
	  but...)

2002-05-21 09:32  epaepa

	* t/parallel_test: The test script I was using to compare the new
	  listings feed to the old.  It cannot be used now, but I'm
	  committing it as a record of the sort of differences between the
	  two feeds.  Many of the differences are thought to be caused by
	  the new feed being 24 hours behind; that is, it gives a week's
	  listings as before, but things like sporting events or
	  last-minute schedule alterations will be less current than in the
	  old feed.

2002-05-21 09:23  epaepa

	* grab/uk/cvt: Removed 'cvt' program to convert channel listings -
	  the job has been done.

2002-05-21 09:22  epaepa

	* grab/uk/cvt: This is the program I used to match the old listings
	  source's channel names to those used by the new listings (and so
	  generate a new file mapping XMLTV ids to Ananova ids).  It's not
	  likely to be used again, but I'm committing it for the record.

2002-05-21 09:13  epaepa

	* t/parallel_test: Adding the new 'radio4' test case.  Not that it
	  will be used for a while, because with the old feed gone it's not
	  possible to run parallel tests comparing new and old output.

2002-05-21 09:13  epaepa

	* grab/uk/: tv_grab_uk.in, test_configs/radio4: Miscellaneous
	  fixes.  These are obsolete now that the old feed has stopped (see
	  forthcoming announcement) but I'm committing them in order to not
	  lose anything.

2002-05-19 12:29  epaepa

	* grab/uk/tv_grab_uk.in, t/parallel_test: When Ananova serves a
	  freak page which doesn't have the multiple sets of listings
	  expected, retry up to 3 times.  I haven't been able to test this
	  because (typically!) as soon as I put the check in, Ananova
	  started to behave.  But at least I know it doesn't make things
	  any worse.

2002-05-18 15:17  epaepa

	* filter/tv_extractinfo_en: Fix to stop the program choking when
	  the last word of a programme description is a time.  It's still
	  not as robust as I would like, but at least this one thing is
	  fixed.

2002-05-15 10:22  epaepa

	* t/add_time_info: More helpful error message about 'funny size
	  clump' (and take a clumpidx of 0/1, ie a clump of one programme,
	  as the same as no clumpidx at all).

2002-05-15 10:21  epaepa

	* MANIFEST: Added grab/uk/test_configs/radio4 to MANIFEST.

2002-05-15 10:20  epaepa

	* grab/uk/test_configs/radio4: A new test configuration for
	  tv_grab_uk - just Radio 4.  This channel is interesting because
	  it has 'LW' and 'FM' variants.

2002-05-15 06:09  epaepa

	* t/add_time_info: Fixed an off-by-one bug - I don't know how it
	  remained undetected for so long.

2002-05-13 12:29  epaepa

	* grab/uk/Ananova_Channel.pm, grab/uk/channel_ids,
	  grab/uk/tv_grab_uk.in, t/parallel_test: tv_grab_uk: added code to
	  split Radio 4 into LW and FM variants, and a few other stations
	  into MW and FM variants.  After some experiments, it turns out
	  the only sensible way to do this is to specify it in the
	  channel_ids file, since it cannot be detected automatically
	  without grabbing a whole week's listings in advance.

	  So now we have fm.radio-4.bbc.co.uk and lw.radio-4.bbc.co.uk.
	  Unfortunately, individual channel selection still works on
	  Ananova id, and these two channels have the same Ananova id, so
	  it's not possible to download one without the other.	But this is
	  good enough.

	  Also committing the parallel_test script used to verify that this
	  change didn't break anything (I hope).

2002-05-13 07:48  epaepa

	* t/test_filters.t: Added an idempotence check for most filter
	  programs.  This checks that running the same filter twice on some
	  input is equivalent to running it once.  Unfortunately, this did
	  not catch the bug I was hoping to find - but at least the check
	  is in there now.

	  The number of tests is now 350 - this is getting really out of
	  hand.  I need to find some easy way to run just a few tests.
	  Probably by defining separate 'basic' and 'full' sets of commands
	  and example inputs.

2002-05-13 06:48  epaepa

	* lib/Clumps.pm: Downgraded a fatal 'programmes do not sort' error
	  to a warning.  This makes things like tv_grep more tolerant of
	  slightly deviant (syntactically correct but nonsensical in some
	  way) input files.

2002-05-12 09:34  epaepa

	* filter/tv_sort: Fixed bug identified earlier - not eliminating
	  duplicate programmes with no stop time.  Now overlap() returns
	  true for two programmes starting at the same time on the same
	  channel with same clumpidx, regardless of whether they have stop
	  times.  This will break if zero-length programmes come up, but
	  I'm assuming that can't happen.

2002-05-10 10:03  epaepa

	* t/data/: dups.xml, tv_cat_dups_xml.expected,
	  tv_extractinfo_en_dups_xml.expected, tv_grep_a_dups_xml.expected,
	  tv_grep_on_after_2002_02_05_dups_xml.expected,
	  tv_sort_by_channel_dups_xml.expected, tv_sort_dups_xml.expected,
	  tv_to_latex_dups_xml.expected: Noticed a bug in tv_sort where not
	  all duplicate programmes are weeded out.  These updated test
	  cases give the expected behaviour.

2002-05-08 08:55  epaepa

	* grab/uk/Ananova_Channel.pm: clone(): whoops, forgot to bless the
	  new object into a class.  That'll teach me for committing
	  untested code.

2002-05-06 12:37  epaepa

	* grab/uk/Ananova_Channel.pm: del(): new method to 'delete' a
	  channel object.

2002-05-06 12:22  epaepa

	* grab/uk/Ananova_Channel.pm: Added an accesor to remove (unset)
	  the additional display names for a channel object.  This is all
	  getting really baroque, I would like to eliminate all this
	  pointless OO stuff soon.

2002-05-06 12:19  epaepa

	* grab/uk/Ananova_Channel.pm: Removed requirement that the main
	  display name is immutable once set.  It all made sense at one
	  point but the original, very strict design isn't really being
	  followed any more.

2002-05-06 12:14  epaepa

	* grab/uk/Ananova_Channel.pm: Added a clone() method which copies
	  all information except the unique ids.

2002-05-06 11:53  epaepa

	* t/add_time_info: Don't collapse and die when a channel which
	  occurs in the less-detailed listings does not occur at all in the
	  more-detailed ones.  Instead just warn once and then leave alone
	  all programmes on that channel.

2002-05-06 05:52  epaepa

	* t/add_time_info: Added some more assertions and more detailed
	  error messages.

2002-05-05 23:59  rmeden

	* choose/tv_check/tv_check: Correction to special Replay-TV fuzzy
	  logic.  Don't look for conflicts for a "close" episode when
	  another episode exists at the proper time.

2002-05-02 10:02  epaepa

	* MANIFEST: Updated the MANIFEST for some files I added a while ago
	  (should have done it before).

2002-05-02 09:58  epaepa

	* t/test_filters.t: 'Transparently' gunzip files before running the
	  test, and gzip them back again.  This is a bit pointless at
	  present because gzipping saves only about 0.2Mbyte of space - but
	  hey, I was running out of quota.  If you don't have the files
	  gzipped then things are as before.  The test files in CVS will
	  remain uncompressed.	So you can just ignore this change :-).

2002-05-02 07:16  epaepa

	* grab/uk/tv_grab_uk.in: More elaborate workarounds for when
	  Ananova's dates are wrong.  If we fetch a file from the server
	  and its date is wrong, attempt to compensate by fetching a
	  different file which is expected to have the right date.  Unless
	  that is also bad, in which case pick another...

	  Whether all this is needed depends on the state of Ananova's
	  data.  Yesterday it was pretty much essential but today only one
	  channel is affected.

2002-05-02 07:12  epaepa

	* t/add_time_info: add_time_info is a small filter to help with
	  diffing one XMLTV file against another.  Sometimes two files
	  describe the same schedule, but one with more detail than the
	  other.  For example A may say '10:00 0/2 News; 10:00 1/2 Weather'
	  while B says '10:00 News, 10:30 Weather'.  This filter reads the
	  more detailed schedule info from B and uses it to output an
	  improved version of A.  You can then diff this output against B
	  to see if there are any differences _other than_ an increase in
	  schedule detail.  (If A's schedule is not a less detailed version
	  of B's, then add_time_info dies with an error.)

	  Not currently used for anything, but will be used for testing the
	  rewritten Ananova grabber against the old one.

2002-05-01 17:27  jveldhuis

	* grab/na/ZapListings.pm: crap, missed a ) :)

2002-05-01 17:25  jveldhuis

	* grab/na/ZapListings.pm: more fixes

2002-05-01 17:12  jveldhuis

	* grab/na/ZapListings.pm: zap2it decided to drop some of the
	  spacing around () details.

2002-05-01 12:47  epaepa

	* grab/uk/tv_grab_uk.in, t/parallel_test: page_date_diff(): the new
	  name for check_page_date().  It now returns an integer, the
	  number of days by which the found date differs from the expected
	  date - or undef if something is very wrong.  The kludgy
	  manipulation of the expected date is as before.  This new version
	  doesn't behave any differently; next I will add some code to cope
	  with the latest Ananova weirdness.

2002-04-28 23:37  rmeden

	* choose/tv_check/tv_check: Changed "neartime" threshnold to from 3
	  hours to 2.  This prevents a 2300 show syndicated show from
	  matching a 2100.  I doubt anyone uses neartime anyway. :)

2002-04-26 15:31  jveldhuis

	* grab/na/ZapListings.pm: page failures now include http failure
	  messages, fixed so program descriptions work again

2002-04-26 15:30  jveldhuis

	* grab/na/tv_grab_na: fixed subtitles to be simpler

2002-04-26 11:02  epaepa

	* filter/tv_extractinfo_en: Expanded the range of programmes which
	  have 'presenter' not 'actor'.

2002-04-25 15:03  epaepa

	* filter/tv_grep.PL: Documentation fix for tv_grep and new
	  'with-lang-or-empty' handler type.  Forgot to commit it earlier.

2002-04-23 10:36  epaepa

	* grab/uk/tv_grab_uk.in: Relaxed sanity check on Ananova's
	  pointless DAYTIME, EVENING, LATENIGHT classification.

2002-04-23 10:05  epaepa

	* filter/tv_extractinfo_en: multipart_split_desc(): an exclamation
	  mark does not mark the boundary between title and subtitle as
	  previously thought, but shows the end of the title.  So it is
	  like question mark and full stop, and the behaviour of all three
	  has been made the same.  Except that while full stops are
	  stripped from the end of titles, ? and ! are not.

	  special_teletext_subtitles(): new handler to remove '(T)' from
	  the end of programme descriptions, it signifies teletext
	  subtitling.

	  Avoided outputting empty descriptions, titles etc: after a
	  regular expression has removed some text from one of these, it is
	  removed if blank.  (New subroutine scrub_empty().)

2002-04-23 09:56  epaepa

	* filter/tv_grep.in, lib/XMLTV.pm.in, t/test_filters.t,
	  t/data/test.xml, t/data/tv_cat_test_xml.expected,
	  t/data/tv_extractinfo_en_test_xml.expected,
	  t/data/tv_grep_a_test_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_xml.expected,
	  t/data/tv_grep_premiere_clump_xml.expected,
	  t/data/tv_grep_premiere_dups_xml.expected,
	  t/data/tv_grep_premiere_length_xml.expected,
	  t/data/tv_grep_premiere_overlap_xml.expected,
	  t/data/tv_grep_premiere_simple_xml.expected,
	  t/data/tv_grep_premiere_sort_xml.expected,
	  t/data/tv_grep_premiere_test_empty_xml.expected,
	  t/data/tv_grep_premiere_test_livre_xml.expected,
	  t/data/tv_grep_premiere_test_xml.expected,
	  t/data/tv_grep_premiere_x_whatever_xml.expected,
	  t/data/tv_sort_by_channel_test_xml.expected,
	  t/data/tv_sort_test_xml.expected: Started to distinguish between
	  elements like <title>, which always have to have some
	  human-readable content, and those like <premiere>, which may have
	  an 'explanation' inside but do not require it.  The former have
	  handler 'with-lang', the latter now 'with-lang-or-empty' which
	  can return [] for an empty element.  Trying to write out
	  inappropriate empty content (like <title></title>) will now give
	  a warning.

	  Updated tv_grep to cope with this: it is still necessary to give
	  a regular expression as the argument to predicates like
	  --premiere, but a regexp of '' will match all <premiere>
	  elements, even empty ones.  So the old behaviour is preserved.
	  Added some new test cases for this (not complete coverage though)
	  and an example of <last-chance> to test.xml.

2002-04-22 16:02  jveldhuis

	* grab/na/tv_grab_na: now verifies that all things in resulting
	  prog details gets explicitly ignored or outputed - use
	  --debuglistings to enable

2002-04-22 16:01  jveldhuis

	* grab/na/ZapListings.pm: multiple details appearing in () may not
	  get to output xml

2002-04-20 13:22  epaepa

	* filter/tv_extractinfo_en: multipart_split_desc(): an exclamation
	  mark _always_ indicates the end of the title and start of the
	  description.	Titles ending in ! are not followed by a colon.

2002-04-20 12:28  epaepa

	* grab/uk/tv_grab_uk.in: Code tidy to comply with perlstyle(1)'s
	  suggestion: 'uncuddled elses'.

2002-04-20 12:27  epaepa

	* filter/tv_extractinfo_en, lib/XMLTV.pm.in: Code tidy to conform
	  with perlstyle(1)'s suggestion: 'uncuddled elses'.

2002-04-20 12:22  epaepa

	* filter/tv_grep.in: Use the XMLTV::Clumps module to make sure that
	  when only some of the programmes sharing a clump are included in
	  the output, the clumpidx information is updated accordingly.

2002-04-20 12:22  epaepa

	* lib/Clumps.pm: Added support for deleting a programme sharing a
	  clump - fix_clumps() should now have complete functionality.

2002-04-20 11:57  epaepa

	* lib/Clumps.pm: Whoops - forgot to load Tie::RefHash.

2002-04-20 11:49  epaepa

	* t/data/: clump.xml, tv_cat_clump_xml.expected,
	  tv_extractinfo_en_clump_xml.expected,
	  tv_grep_a_clump_xml.expected,
	  tv_grep_category_b_clump_xml.expected,
	  tv_grep_category_e_and_title_f_clump_xml.expected,
	  tv_grep_category_g_or_title_h_clump_xml.expected,
	  tv_grep_channel_id_channel4_com_clump_xml.expected,
	  tv_grep_channel_name_d_clump_xml.expected,
	  tv_grep_eval_scalar_keys_5_clump_xml.expected,
	  tv_grep_i_category_i_title_h_clump_xml.expected,
	  tv_grep_i_category_i_title_j_clump_xml.expected,
	  tv_grep_i_last_chance_c_clump_xml.expected,
	  tv_grep_new_clump_xml.expected,
	  tv_grep_on_after_2002_02_05_clump_xml.expected,
	  tv_sort_by_channel_clump_xml.expected,
	  tv_sort_clump_xml.expected, tv_to_latex_clump_xml.expected:
	  tv_grep ought to update clumpidxes when removing programmes from
	  a clump.  These new test cases expect that behaviour.

2002-04-20 11:25  epaepa

	* MANIFEST, Makefile.PL, filter/tv_extractinfo_en, lib/Clumps.pm:
	  Refactored the fix_clumps() routine and its support routines into
	  a new module XMLTV::Clumps.  This doesn't diminish the ugliness
	  but it does at least get it out of the way.  I want to call
	  fix_clumps() from other tools than tv_extractinfo_en - it's what
	  you have to do whenever you delete / split / update a programme
	  which shares a timeslot with others.

	  All this underlines the need to get rid of clumpidx and replace
	  it with something cleaner, but that will wait until after 0.5.

2002-04-20 11:22  epaepa

	* lib/TZ.pm: Just noticed no '1;' true-returning statement at the
	  end of this module.  It seems to have managed okay withoutit so
	  far, but it's good style to add one.

2002-04-20 10:26  epaepa

	* filter/tv_extractinfo_en: fix_clumps(): Work when a programme has
	  been 'split' into one different programme.  Previously this case
	  was not handled, but I see no reason why the existing code for 2
	  or more shouldn't work with 1.  Also try to preserve the original
	  timezone when setting date strings.

2002-04-20 09:46  epaepa

	* filter/tv_extractinfo_en: Added an undocumented option
	  --no-create-sub-titles which affects the behaviour of
	  special_multipart(), making it create titles with colons in
	  rather than splitting into title and sub-title.

	  Recognize 'sports' as well as 'sport' as a category keyword.

2002-04-20 08:53  epaepa

	* filter/tv_extractinfo_en: special_multipart(): normally, the
	  heuristic is that a programme must have at least three valid
	  'times' included in its description to be considered a multipart.
	  But if the first word of the description is a time, waive that
	  requirement.

2002-04-20 08:37  epaepa

	* filter/tv_extractinfo_en: special_multipart: match categories
	  containing 'childrens' as well as 'children'.

2002-04-20 08:25  epaepa

	* filter/tv_extractinfo_en: special_multipart(): modified the
	  category checking to look for words as substrings rather than
	  simple string equality.  This is needed for the new Ananova
	  listings which have categories like 'Children's Programmes'
	  instead of 'children', for example.

2002-04-20 07:16  epaepa

	* lib/XMLTV.pm.in, t/data/test_empty.xml,
	  t/data/tv_cat_test_empty_xml.expected,
	  t/data/tv_extractinfo_en_test_empty_xml.expected,
	  t/data/tv_grep_a_test_empty_xml.expected,
	  t/data/tv_grep_category_b_test_empty_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_test_empty_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_empty_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_test_empty_xml.expected,
	  t/data/tv_grep_channel_name_d_test_empty_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_empty_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_test_empty_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_test_empty_xml.expected,
	  t/data/tv_grep_i_last_chance_c_test_empty_xml.expected,
	  t/data/tv_grep_new_test_empty_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_test_empty_xml.expected,
	  t/data/tv_sort_by_channel_test_empty_xml.expected,
	  t/data/tv_sort_test_empty_xml.expected,
	  t/data/tv_to_latex_test_empty_xml.expected: Some sub-elements of
	  <programme> are just convenient syntactic containers for other
	  stuff, they don't mean anything in themselves.  These are
	  <credits>, <video> and <audio>.  If these keys exist in the
	  programme hash but don't contain anything, then do not write
	  them.

	  This makes things look nice if (for example) you delete all the
	  actors from the 'credits' subhash.  When writing out, there will
	  not be a useless empty <credits /> element.

2002-04-20 06:30  epaepa

	* filter/tv_extractinfo_en: special_multipart(): the 'base day'
	  from which the times of subprogrammes are calculated should take
	  into account timezone.

2002-04-20 05:59  epaepa

	* filter/tv_extractinfo_en: Remove trailing full stop when
	  'Introduced by...' is a sentence.

2002-04-20 05:48  epaepa

	* filter/tv_extractinfo_en: Made the multipart programme splitting
	  code take account of timezones.

2002-04-19 15:43  epaepa

	* filter/tv_extractinfo_en,
	  t/data/tv_extractinfo_en_sort_xml.expected: Added a handler for
	  the words like 'Thriller' or 'Drama' that appear at the end of
	  programme descriptions.  These are converted into categories.
	  Also made the 'news' detector add to the list of existing
	  categories, rather than doing nothing if categories already
	  exist.

2002-04-19 12:39  epaepa

	* filter/tv_extractinfo_en: Added a handler for the 'TVM' that
	  appears at the front of descriptions in old-style Ananova
	  listings, I think it stands for 'TV movie'.

2002-04-19 11:07  epaepa

	* grab/uk/tv_grab_uk.in: Stopped translating the 'new' flag to <new
	  /> in XML, that's not what it means.

2002-04-19 10:25  epaepa

	* filter/tv_extractinfo_en: Added a handler to parse out a year at
	  the start of the description and put it in <date>.

2002-04-19 09:07  jveldhuis

	* grab/na/ZapListings.pm: cleaner identification of french part x
	  of y details

2002-04-19 08:33  jveldhuis

	* grab/na/ZapListings.pm: identifies french part x of y details, or
	  at least some

2002-04-18 13:37  epaepa

	* filter/tv_extractinfo_en: Bug fix for newly added
	  special_new_series().

2002-04-18 13:00  epaepa

	* filter/tv_extractinfo_en: Added a handler for 'New series' text
	  in programme descriptions.

2002-04-18 12:06  epaepa

	* xmltv.dtd: Clarified the meaning of the 'new' element.  The old
	  UK grabber was getting it wrong.

2002-04-18 05:48  epaepa

	* grab/uk/tv_grab_uk.in: Fixed incorrect episode-num content.  The
	  episode number is the middle item - the last item is for 'part 3
	  of 4' stuff.	I really ought to change this episode-num stuff in
	  the DTD to something less confusing.

2002-04-18 05:31  epaepa

	* lib/XMLTV.pm.in: Fix for aspect-ratio writing bug.

2002-04-18 05:29  epaepa

	* t/data/: tv_cat_test_xml.expected,
	  tv_extractinfo_en_test_xml.expected, tv_grep_a_test_xml.expected,
	  tv_grep_category_g_or_title_h_test_xml.expected,
	  tv_grep_eval_scalar_keys_5_test_xml.expected,
	  tv_sort_by_channel_test_xml.expected, tv_sort_test_xml.expected:
	  Noticed a longstanding bug in file writing.  Aspect ratio is not
	  a Boolean!

2002-04-15 07:56  jveldhuis

	* grab/na/ZapListings.pm: added language Dene

2002-04-07 19:30  epaepa

	* grab/uk/tv_grab_uk.in: Added code to notice when Ananova is
	  running one day behind (which happens for example for a short
	  time after midnight) and cope without too much complaining.
	  Fixed warnings when using newer XMLTV.pm versions.

2002-03-31 18:42  epaepa

	* lib/XMLTV.pm.in: Added some trace and debugging code; made the
	  'exactly one' multiplicity specifier for parsing match what the
	  documentation says; in parse(), sanity-check for something that
	  looks like XMLTV before firing up the DOM.

2002-03-31 18:40  epaepa

	* choose/tv_pick/tv_pick_cgi: The 'date' element of a programme
	  hash is a single value if present, it's not multivalued.  Hard to
	  believe that this bug went unnoticed until now - obviously the
	  listings I use just don't have dates.

2002-03-30 10:56  epaepa

	* lib/: XMLTV.pm.PL, XMLTV.pm.in: Fixes to the POD documentation so
	  it formats correctly.  There are still some problems with the
	  formatting of the lists of handlers, which mystify me at the
	  moment.  Never mind, I don't expect many people to actually read
	  this documentation as it stands.

2002-03-30 10:38  epaepa

	* lib/XMLTV.pm.in: Made %Handlers into a global variable so that
	  it's possible (when absolutely necessary) for users to mess
	  around with the tables of parsing and writing routines, so they
	  can add their own extensions to the file format.

2002-03-30 10:29  epaepa

	* lib/XMLTV.pm.in: Make sure Emacs knows this is a Perl file.

2002-03-30 08:38  epaepa

	* grab/de/tv_grab_de: The listings have moved to a new site and
	  most of the problems have been fixed.  This grabber is looking
	  very slim :-).

2002-03-25 10:55  epaepa

	* MANIFEST, lib/XMLTV.pm.in, t/data/tv_cat_x_whatever_xml.expected,
	  t/data/tv_extractinfo_en_x_whatever_xml.expected,
	  t/data/tv_grep_a_x_whatever_xml.expected,
	  t/data/tv_grep_category_b_x_whatever_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_x_whatever_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_x_whatever_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_x_whatever_xml.expected,
	  t/data/tv_grep_channel_name_d_x_whatever_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_x_whatever_xml.expected,
	  t/data/tv_grep_i_category_i_title_h_x_whatever_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_x_whatever_xml.expected,
	  t/data/tv_grep_i_last_chance_c_x_whatever_xml.expected,
	  t/data/tv_grep_new_x_whatever_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_x_whatever_xml.expected,
	  t/data/tv_sort_by_channel_x_whatever_xml.expected,
	  t/data/tv_sort_x_whatever_xml.expected,
	  t/data/tv_to_latex_x_whatever_xml.expected,
	  t/data/x-whatever.xml: Documented the feature that hash keys
	  beginning with an underscore are skipped on output.  And now keys
	  beginning 'debug_' are written as comments, this replaces the old
	  special handling for 'source'.  Hmm, I ought to test this
	  feature.

	  Added an analogous feature for input: any attributes or elements
	  whose names begin 'x-' are ignored.  This means that 'x-' names
	  are for extensions to the file format not yet supported by the
	  DTD or by XMLTV.pm.

2002-03-22 00:20  rmeden

	* choose/tv_check/tv_check: Configure: always start sorted by title
	  Scan: minor bug fixes

2002-03-21 23:26  rmeden

	* Makefile.PL: Fix to allow uninstall to work on windows.

2002-03-19 01:41  rmeden

	* t/test_filters.t: fix bugs preventing tests from passing on
	  windows.

	  If windows swap / for \ to find (and execute) batch file version
	  of script

	  close OUT and EXPECTED ( windows can't delete an open file )

2002-03-18 01:54  jveldhuis

	* grab/na/tv_grab_na: minor debugging code removed :)

2002-03-16 14:41  epaepa

	* MANIFEST, Makefile.PL, filter/tv_grep.PL, filter/tv_grep.in,
	  lib/XMLTV.pm, lib/XMLTV.pm.PL, lib/XMLTV.pm.in: Added pod
	  documentation to XMLTV.pm.  As with tv_grep, part of it is
	  automatically generated from the list of 'handlers' for
	  subelements of <programme> and <channel>.  This necessitated
	  moving XMLTV.pm to XMLTV.pm.in and writing a short script
	  XMLTV.pm.PL to generate the end file.

	  Also I needed to change the way the list of handlers is stored -
	  now they're looked up by a string rather than being subroutine
	  references.  This is so we can also use the strings in the pod
	  documentation :-).  The function list_programme_keys() has been
	  changed to just return the list of handlers (more or less), which
	  has meant changing tv_grep.  Found and fixed a bug in tv_grep in
	  the meantime, and made a small change to XMLTV.pm's handling of
	  subtitles.  Apart from those fixes and any new bugs introduced,
	  the behaviour should be the same - just we now have some rather
	  pedantic half-auto-generated documentation as well.

2002-03-16 14:24  epaepa

	* t/data/: test.xml, tv_cat_test_xml.expected,
	  tv_extractinfo_en_test_xml.expected, tv_grep_a_test_xml.expected,
	  tv_grep_category_g_or_title_h_test_xml.expected,
	  tv_grep_eval_scalar_keys_5_test_xml.expected,
	  tv_sort_by_channel_test_xml.expected, tv_sort_test_xml.expected:
	  Noticed that test.xml didn't have anything for subtitles, added
	  it and modified the expected outputs accordingly.  (This doesn't
	  quite match the current version of XMLTV.pm, but it matches the
	  one I'm about to commit.)

2002-03-16 13:57  epaepa

	* t/: test_filters.t,
	  data/tv_grep_i_category_i_title_h_dups_xml.expected,
	  data/tv_grep_i_category_i_title_h_length_xml.expected,
	  data/tv_grep_i_category_i_title_h_overlap_xml.expected,
	  data/tv_grep_i_category_i_title_h_simple_xml.expected,
	  data/tv_grep_i_category_i_title_h_sort_xml.expected,
	  data/tv_grep_i_category_i_title_h_test_livre_xml.expected,
	  data/tv_grep_i_category_i_title_h_test_xml.expected,
	  data/tv_grep_i_category_i_title_j_simple_xml.expected: Found a
	  bug in tv_grep (while making the changes I'm about to commit
	  next), it wasn't caught by the test suite because the test suite
	  itself was wrong (I didn't check the expected results thoroughly
	  enough).  Fixed that, and added another test.

2002-03-16 13:39  epaepa

	* t/test_filters.t: When a test fails to create its output file, it
	  'fails' but the test suite continues.

2002-03-16 11:02  jveldhuis

	* grab/na/tv_grab_na: improved retry message - I have no idea what
	  I was thinking :)

2002-03-15 14:08  epaepa

	* grab/uk/tv_grab_uk.in: Print copyright message to stderr on
	  download, as requested by Ananova.

2002-03-15 13:54  epaepa

	* grab/uk/: Ananova_Channel.pm, channel_ids, tv_grab_uk.in: New
	  version (though not a full rewrite) of the UK grabber.  This uses
	  the new show=allchannels channel listing on the website, which
	  eliminates a lot of the hassle with 'definitive' versus
	  'tentative' channel names, terrestrial channels not listed, and
	  so on.  On the downside there is no longer any way to distinguish
	  radio and satellite channels, the grabber guesses that based on
	  the name.

2002-03-15 13:51  epaepa

	* MANIFEST: Forgot to add the new test files for tv_sort
	  --by-channel to the MANIFEST.

2002-03-15 13:50  epaepa

	* t/parallel_test: The fixup commands can now be applied to both
	  the old output and the new output independently, and can be a
	  list of commands rather than just one or zero.  Added new flags
	  -a (reuse output from old version) and -b (reuse output from new
	  version), together these replace the -q (quick) flag.

2002-03-15 13:47  epaepa

	* grab/Memoize.pm: Behave correctly when --cache is last argument.

2002-03-15 13:47  epaepa

	* xmltv.dtd: Formatting change for the sake of dtd2latex.

2002-03-15 11:12  epaepa

	* filter/tv_sort, t/test_filters.t,
	  t/data/tv_sort_by_channel_dups_xml.expected,
	  t/data/tv_sort_by_channel_length_xml.expected,
	  t/data/tv_sort_by_channel_overlap_xml.expected,
	  t/data/tv_sort_by_channel_simple_xml.expected,
	  t/data/tv_sort_by_channel_sort_xml.expected,
	  t/data/tv_sort_by_channel_test_livre_xml.expected,
	  t/data/tv_sort_by_channel_test_xml.expected: Added a new option
	  --by-channel to tv_sort to sort by channels first, then times.

2002-03-15 04:30  epaepa

	* attic/rcs.tar: Removing the old RCS archive, it won't be needed
	  now.	It's still in CVS somewhere of course, just now it won't be
	  checked out.

2002-03-13 05:15  epaepa

	* todo/TASKS.epa: Another DTD feature request.	Ouch, there will be
	  a lot to do once 0.5 is out.

2002-03-12 12:14  jveldhuis

	* grab/na/ZapListings.pm: cleaned up program details only to scrape
	  the ones in parenthesis

2002-03-11 18:48  jveldhuis

	* grab/na/ZapListings.pm: now identified languages with / and -
	  separators

2002-03-11 18:46  jveldhuis

	* grab/na/tv_grab_na: fixed minor bugs - thanks Brian

2002-03-11 16:47  jveldhuis

	* grab/na/tv_grab_na: fixed --retry-limit rename problem :)

2002-03-11 15:00  jveldhuis

	* grab/na/tv_grab_na: slight warning message change

2002-03-11 14:58  jveldhuis

	* grab/na/tv_grab_na: added retry limits and retry delays in
	  configure and command line options

2002-03-10 06:28  epaepa

	* t/test_filters.t: The 'make test' code no longer uses diff(1), it
	  compares the contents of two files purely in Perl.

2002-03-10 06:16  epaepa

	* Makefile.PL: Don't run 'fixin' on documentation and share files -
	  it's intended for Perl scripts only, to run things like pl2bat!

2002-03-09 13:51  epaepa

	* Makefile.PL: Kinder, gentler error messages for missing
	  dependencies.  I will make a feature-request or patch against
	  MakeMaker to do the same thing, but for the time being the code
	  needs to be in Makefile.PL.

2002-03-07 08:57  epaepa

	* Makefile.PL, choose/tv_check/tv_check, filter/tv_cat,
	  filter/tv_extractinfo_en, filter/tv_grep.in, filter/tv_sort,
	  filter/tv_to_latex, grab/de/tv_grab_de, grab/uk/tv_grab_uk.in,
	  t/test_filters.t: Got rid of most of the usage() subroutines in
	  favour of XMLTV::Usage.  It seems to work okay, unless I made a
	  typing error.  Also realized I had forgotten to include tv_check
	  in the list of binaries.

2002-03-07 08:38  epaepa

	* MANIFEST, Makefile.PL, lib/Usage.pm: Added a new library
	  XMLTV::Usage to save on ten identical usage() subroutines.  The
	  next change will start using it.

2002-03-07 08:17  epaepa

	* filter/tv_cat, filter/tv_extractinfo_en, filter/tv_sort,
	  filter/tv_to_latex, grab/de/tv_grab_de, grab/uk/tv_grab_uk.in,
	  t/test_filters.t: Made sure that failure of GetOptions() is
	  caught and triggers a usage message (and unsuccessful exit).	I
	  had omitted to do this before now.

2002-03-07 08:09  epaepa

	* grab/uk/tv_grab_uk.in: Fixed usage message properly (I hope).

2002-03-07 08:01  epaepa

	* grab/uk/tv_grab_uk.in: Added a usage message (dealt with FIXME).

2002-03-07 07:57  epaepa

	* README: Updated README for 0.5pre2.

2002-03-07 07:53  epaepa

	* todo/TASKS.epa: Another small task list update - timezone stuff.

2002-03-07 07:48  epaepa

	* filter/tv_extractinfo_en, grab/uk/tv_grab_uk.in, t/parallel_test,
	  t/data/simple.xml, t/data/sort.xml,
	  t/data/tv_cat_simple_xml.expected,
	  t/data/tv_cat_sort_xml.expected,
	  t/data/tv_extractinfo_en_simple_xml.expected,
	  t/data/tv_extractinfo_en_sort_xml.expected,
	  t/data/tv_grep_a_simple_xml.expected,
	  t/data/tv_grep_a_sort_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_simple_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_sort_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_simple_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_simple_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_sort_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_simple_xml.expected,
	  t/data/tv_sort_simple_xml.expected,
	  t/data/tv_sort_sort_xml.expected, todo/TASKS.epa: Fixed
	  longstanding bug of output times in XML containing colons.  The
	  DTD says they should not.  It doesn't look as pretty now :-(.

2002-03-07 07:20  epaepa

	* grab/uk/tv_grab_uk.in, todo/TASKS.epa: Whoops, messed up the
	  module inclusion for tv_grab_uk.  I fixed this once but edited
	  the generated file rather than the source tv_grab_uk.in (d'oh!).

	  Marked a few more tasks as 'done'.

2002-03-07 07:16  epaepa

	* doc/QuickStart: Unified the grabber QuickStart instructions, they
	  are quite similar now.

2002-03-07 06:53  epaepa

	* MANIFEST, Makefile.PL, Uninstall.pm: Hacked together an
	  'uninstall' target.  It removes files created by 'make install'.
	  However it does not remove empty directories, and leaves the
	  packlist and perllocal.pod files alone.  (These files are
	  _modified_ in strange ways on installation, it's hard to unmodify
	  them.)

2002-03-07 06:42  epaepa

	* grab/uk/tv_grab_uk.in: Whoops, forgot to import the gettz()
	  function.  I'm trying to move away from export-by-default
	  (@EXPORT) towards export-if-asked (@EXPORT_OK).

2002-03-07 06:40  epaepa

	* todo/TASKS.epa: Added a few more todo items, almost all for
	  tv_extractinfo_en.  That tool can suck almost infinite amounts of
	  programmer time.  I noticed these after beginning to get radio
	  listings as well as television.

2002-03-07 06:39  epaepa

	* filter/tv_extractinfo_en: Reinstated the timezone preservation in
	  time12to24(), I think I removed it by accident.  Doesn't seem to
	  make any difference :-).

2002-03-06 12:20  epaepa

	* filter/tv_extractinfo_en, filter/tv_grep.in, filter/tv_sort,
	  filter/tv_to_latex, grab/uk/UK_TZ.pm, lib/TZ.pm: The DTD says
	  quite clearly 'if no explicit timezone is given, UT is assumed'.
	  But until now that's not what the various tools were doing: they
	  were interpreting plain dates according to the local timezone.
	  Jerry spotted this by running 'make test'; the tv_to_latex output
	  was wrong.

	  I've fixed most of the programs to have Date_Init('TZ=UT').  The
	  external timezone should not affect the output of filter programs
	  (it should depend only on the input) so this is the right thing
	  for those.  For tv_grab_de TZ=CET is assumed.  But I haven't
	  changed tv_grab_na or tv_choose because I didn't want to risk
	  breaking them.  They do need checking though.

	  One nice side-effect of calling Date_Init() in every program is
	  that the Windows timezone error will go away.

2002-03-06 12:12  epaepa

	* MANIFEST.SKIP: Whoops, regexp confusion.

2002-03-06 12:11  epaepa

	* MANIFEST.SKIP: Skip warning about the '*.orig' backup files
	  generated by patch(1).

2002-03-06 11:11  epaepa

	* MANIFEST, Makefile.PL, XMLTV.pm, lib/XMLTV.pm: Moved XMLTV.pm
	  into the lib/ directory along with TZ.pm.  So now lib/ is the
	  place for modules needed by the rest of the project (as distinct
	  from modules needed only for a particular program, which can live
	  in that program's own directory).  This is ad hoc, but tidier
	  than before.

2002-03-06 11:01  epaepa

	* MANIFEST, Makefile.PL, XMLTV.pm, filter/tv_to_latex,
	  grab/uk/UK_TZ.pm, lib/TZ.pm: Created a new XMLTV::TZ module for
	  the two timezone-handling routines gettz() and
	  ParseDate_PreservingTZ().  So now the general timezone stuff is
	  in XMLTV::TZ and the UK-specific summer time stuff is in
	  XMLTV::UK_TZ.

2002-03-06 10:36  epaepa

	* t/test_filters.t: Formatting change.

2002-03-06 10:36  epaepa

	* t/test_filters.t: Redirect stderr to a file which is removed if
	  the test passes.

2002-03-06 08:06  epaepa

	* grab/na/tv_grab_na: Created manual page, and changed --config
	  option to --config-file.

2002-03-06 08:03  epaepa

	* grab/Ask.pm: Fixed the regexp match of $res by quoting with
	  \Q...\E.  Otherwise strange characters in the user response cause
	  the regexp to do strange things.

2002-03-06 07:03  epaepa

	* grab/uk/tv_grab_uk.in: Manual page for tv_grab_uk.

2002-03-05 18:07  jveldhuis

	* grab/na/ZapListings.pm: added a couple languages and relaxed the
	  requirements on there names

2002-03-04 13:35  epaepa

	* MANIFEST, grab/uk/tv_grab_uk.in, grab/uk/test_configs/all,
	  grab/uk/test_configs/bbc1, grab/uk/test_configs/carlton,
	  grab/uk/test_configs/gratis, grab/uk/test_configs/gratis_radio,
	  grab/uk/test_configs/music_nickelodeon_e4,
	  grab/uk/test_configs/radio, grab/uk/test_configs/satellite,
	  grab/uk/test_configs/tynetees, t/parallel_test: Using tv_grab_uk
	  is now more like tv_grab_na: there's a separate --configure stage
	  where you choose what channels to download.  This is slightly
	  less flexible than the old command line arguments, and I still
	  have to work out a decent system for prompting the user about new
	  channels that have appeared on the site.  But it should make
	  things more user-friendly and consistent.

	  For the benefit of testing (parallel_test) there's a
	  --config-file argument and a set of sample configs.

2002-03-04 12:02  epaepa

	* grab/na/tv_grab_na: Display the providers to the user in the same
	  order as the website (as it was before).

2002-03-04 11:28  epaepa

	* grab/: Ask.pm, uk/tv_grab_uk.in: Finished writing the --configure
	  routine for tv_grab_uk.  All I have to do now is actually read
	  the configuration file when it runs :-).  To handle long runs of
	  yes/no with optional 'yes to all' I added
	  XMLTV::Ask::askManyBooleanQuestions().  I have not yet modified
	  tv_grab_na to use this routine although it would probably be a
	  good idea for tidyness.

	  Also added some (mostly futile) error checking and recovery to
	  tv_grab_uk.  This happened when I was tracking down a date error:
	  it turns out that Ananova rotate their pages at some unspecified
	  time after midnight, so tv_grab_uk needs to compensate.  This
	  isn't yet done.

2002-03-04 11:17  epaepa

	* MANIFEST.SKIP: Skip warning about XMLTV::Memoize's *.cache files.

2002-03-04 09:54  epaepa

	* grab/: Ask.pm, na/tv_grab_na: Removed the unvalidated questions
	  from XMLTV::Ask, now the response must always be in the list of
	  options (as must the default).  The provider selection in
	  tv_grab_na now uses askQuestion() rather than printing out
	  options by itself.

2002-03-04 05:15  epaepa

	* grab/Memoize.pm: Fixed argument parsing so eg --cache --configure
	  is treated as two separate options.

2002-03-01 16:14  jveldhuis

	* grab/na/tv_grab_na: added warning on grab that config file
	  location needs upgrading

2002-03-01 16:09  jveldhuis

	* grab/na/tv_grab_na: now on --configure, configuration file moved
	  to new location ie from ~/.xmltv_na to ~/xmltv/tv_grab_na

	  fixed all calls to Ask.pm subroutines, poorly separated :<

2002-03-01 16:07  jveldhuis

	* grab/Ask.pm: fixed it because it was obviously not tested

2002-02-28 13:51  jveldhuis

	* grab/na/ZapListings.pm: added a couple of new languages I have
	  come across

2002-02-28 13:03  epaepa

	* grab/Ask.pm, grab/uk/tv_grab_uk.in, t/parallel_test: *Started* to
	  implement --configure for tv_grab_uk.  This means moving the
	  existing 'main program' into a grab() subroutine and then calling
	  either grab() or configure() depending on the command line.  The
	  --configure option doesn't work yet, but tv_grab_uk is no worse
	  than it was before and passes the test suite (parallel_test), so
	  now is a good interim time to commit before I mess it up further.

	  Made the askMyQuestion() routine in XMLTV::Ask notice when there
	  are a long-winded set of options and present them as multiple
	  choice with numbers.	So you can use this single routine for both
	  short and long questions.

2002-02-28 08:50  epaepa

	* MANIFEST.SKIP: 'make distcheck' doesn't warn about Emacs autosave
	  files.

2002-02-28 08:48  epaepa

	* MANIFEST, Makefile.PL, grab/Ask.pm, grab/na/tv_grab_na: Moved the
	  question-asking routines from the --configure stage of tv_grab_na
	  to a new support module XMLTV::Ask.

2002-02-28 07:19  epaepa

	* grab/Memoize.pm: Fixed the choice of cache filename when --cache
	  is given to a program that calls XMLTV::Memoize::check_argv().
	  It should be in the current directory, not the same directory as
	  the binary!

2002-02-28 07:15  epaepa

	* MANIFEST, MANIFEST.SKIP, Makefile.PL, mkdist,
	  grab/uk/tv_grab_uk.in, grab/uk/channel_pkgs/adult,
	  grab/uk/channel_pkgs/arts, grab/uk/channel_pkgs/asia,
	  grab/uk/channel_pkgs/children, grab/uk/channel_pkgs/classics,
	  grab/uk/channel_pkgs/comedy, grab/uk/channel_pkgs/entertainment,
	  grab/uk/channel_pkgs/factual, grab/uk/channel_pkgs/film,
	  grab/uk/channel_pkgs/gratis, grab/uk/channel_pkgs/lifestyle,
	  grab/uk/channel_pkgs/misc, grab/uk/channel_pkgs/music,
	  grab/uk/channel_pkgs/musicchoice, grab/uk/channel_pkgs/news,
	  grab/uk/channel_pkgs/religion, grab/uk/channel_pkgs/scifi,
	  grab/uk/channel_pkgs/shop, grab/uk/channel_pkgs/sport,
	  grab/uk/channel_pkgs/travel: Moved out the rest of tv_grab_uk's
	  channel data into files installed in share/.	This isn't ideal,
	  there should be a way for users to override them or create new
	  channel packages with files in their home directory, but that
	  will come later.

	  Made sure that 'make distclean' works properly.  It doesn't
	  remove the files removed by mkdist, but apart from that should
	  check that the working copy is prepared for distribution.  (Also
	  do 'cvs -q update -Pd' to check there are no files left to check
	  in.)

2002-02-28 07:12  epaepa

	* mkdist: Modified the list of files and directories to remove.  A
	  single list is sufficient, and now if the files are missing
	  anyway they're just ignored.	This will be handy when testing new
	  additions to the distribution.

2002-02-28 07:02  epaepa

	* README: updated version to XMLTV test

2002-02-27 13:10  epaepa

	* Makefile.PL, grab/uk/channel_ids, grab/uk/tv_grab_uk,
	  grab/uk/tv_grab_uk.PL, grab/uk/tv_grab_uk.in, t/parallel_test:
	  Begun the process of moving the hardcoded channel data out of
	  tv_grab_uk and into text files.  To start with I have put the big
	  list mapping Ananova ids to XMLTV ids into its own file, which
	  lives in the share/ directory (eg /usr/local/share/).  This meant
	  altering Makefile.PL to support 'share' files in the same way it
	  was already altered for 'docs', and processing tv_grab_uk on
	  installation to set the path to the data file.

	  One side effect of the new way of loading the data is that the
	  channel 'BBC1' now maps to generic BBC1 rather than the BBC1 West
	  it was before (for some reason).  This is probably because I
	  reordered the Ananova ids in the channel_ids file.  But that
	  looks like a good side effect.

2002-02-27 12:50  epaepa

	* mkdist: Commented out version number number check to allow
	  numbers like '0.5pre1'.

2002-02-25 12:27  epaepa

	* README: Updated README for 0.5pre1, a testing release I'm about
	  to make.

2002-02-25 11:55  epaepa

	* t/data/: length.xml, tv_cat_length_xml.expected,
	  tv_extractinfo_en_length_xml.expected,
	  tv_grep_a_length_xml.expected,
	  tv_grep_category_b_length_xml.expected,
	  tv_grep_category_e_and_title_f_length_xml.expected,
	  tv_grep_category_g_or_title_h_length_xml.expected,
	  tv_grep_channel_id_channel4_com_length_xml.expected,
	  tv_grep_channel_name_d_length_xml.expected,
	  tv_grep_eval_scalar_keys_5_length_xml.expected,
	  tv_grep_i_category_i_title_j_length_xml.expected,
	  tv_grep_i_last_chance_c_length_xml.expected,
	  tv_grep_new_length_xml.expected,
	  tv_grep_on_after_2002_02_05_length_xml.expected,
	  tv_sort_length_xml.expected, tv_to_latex_length_xml.expected: New
	  test case for suspected bug with <length>.  Turned out that
	  wasn't the bug, but building up the test suite is a good thing
	  anyway.

	  (I plan to slim down 'make test' a bit so it doesn't grow
	  linearly with both the number of filters and number of test
	  cases.)

2002-02-25 11:53  epaepa

	* Makefile.PL: Added a dependency on Compress::Zlib, needed by
	  tv_grab_de.  I plan to split up the dependencies a bit soon.

2002-02-25 11:49  epaepa

	* doc/QuickStart: Added mention of tv_grab_de, although I still
	  don't know exactly what country(s) it corresponds to.

2002-02-24 14:54  epaepa

	* MANIFEST, Makefile.PL, grab/de/tv_grab_de: Yay, another grabber!
	  This time for Germany and Austria.

	  Actually I tell a lie - this is just fetching the XML files which
	  Goofy makes available from his database.  The service resumed
	  recently.  But now we have a standard way to get listings rather
	  than telling users 'go and download these files by hand'.

2002-02-24 14:52  epaepa

	* XMLTV.pm, choose/tv_check/tv_check, choose/tv_pick/tv_pick_cgi,
	  filter/tv_cat, filter/tv_extractinfo_en, filter/tv_grep.in,
	  filter/tv_sort, filter/tv_to_latex: Replaced XMLTV::read_data()
	  with XMLTV::parsefile(), which reads from a filename or URL, and
	  XMLTV::parse(), which reads XML straight from a string.  This is
	  the same interface as XML::DOM.  write_data() has not changed
	  because I couldn't think of a better name.

2002-02-24 13:59  epaepa

	* grab/: na/tv_grab_na, uk/tv_grab_uk: Changed tv_grab_na's version
	  number checking to use the date rather than the CVS id.  The date
	  is guaranteed to increase monotonically for any given development
	  branch, so this should mean we don't have to mess with CVS in
	  future.

	  Added a check that --days isn't negative to both grabbers - it
	  can't hurt :-).

2002-02-24 13:34  epaepa

	* MANIFEST, Makefile.PL, grab/Memoize.pm, grab/uk/tv_grab_uk: Moved
	  the code for the undocumented --cache option from tv_grab_uk into
	  a new module XMLTV::Memoize.	Then caching should be fairly easy
	  to add to new grabbers.

2002-02-24 13:33  epaepa

	* t/parallel_test: Modified to work with the blib/ setup.  It is
	  still specific to my directory structure but should be easy to
	  change for yours.

2002-02-24 12:51  epaepa

	* XMLTV/: Ananova_Channel.pm, UK_TZ.pm, ZapListings.pm: Removing
	  old copies of Perl modules, they have moved to new homes.

2002-02-24 12:22  epaepa

	* XMLTV.pm, filter/tv_cat: Made tv_cat into a library function,
	  XMLTV::cat().  This is because the forthcoming tv_grab_de will
	  use it too.  I was thinking of making tv_grab_de as a shell
	  script running wget and tv_cat, which would be cool, but I like
	  Perl too much.

2002-02-24 12:20  epaepa

	* t/test_filters.t: Fixed test_filters so it doesn't chdir().  It
	  can't do that because the @INC path is set relative to the
	  current directory ('blib/lib' and others).  Previously it was
	  working by accident, picking up XMLTV.pm and stuff installed
	  elsewhere.

2002-02-24 12:18  epaepa

	* t/data/: simple.xml, tv_cat_simple_xml.expected,
	  tv_extractinfo_en_simple_xml.expected,
	  tv_grep_a_simple_xml.expected,
	  tv_grep_category_b_simple_xml.expected,
	  tv_grep_category_e_and_title_f_simple_xml.expected,
	  tv_grep_category_g_or_title_h_simple_xml.expected,
	  tv_grep_channel_id_channel4_com_simple_xml.expected,
	  tv_grep_channel_name_d_simple_xml.expected,
	  tv_grep_eval_scalar_keys_5_simple_xml.expected,
	  tv_grep_i_category_i_title_j_simple_xml.expected,
	  tv_grep_i_last_chance_c_simple_xml.expected,
	  tv_grep_new_simple_xml.expected,
	  tv_grep_on_after_2002_02_05_simple_xml.expected,
	  tv_sort_simple_xml.expected, tv_to_latex_simple_xml.expected: I
	  wrote an example XMLTV file to add to the web page, and thought
	  it might as well go into the test suite too.	It would be rather
	  embarassing if the software stopped handling the example on the
	  web page...

2002-02-24 09:18  epaepa

	* filter/: tv_cat, tv_extractinfo_en, tv_grep.in, tv_sort,
	  tv_to_latex: Finished writing the manual pages for the filters.
	  Not bothering to document the --help option, it should be obvious
	  and GNU grep's manpage doesn't.

2002-02-23 13:41  epaepa

	* MANIFEST, Makefile.PL, filter/tv_extractinfo_en, filter/tv_grep,
	  filter/tv_grep.PL, filter/tv_grep.in: Added two more manual
	  pages: for tv_grep and tv_extractinfo_en.  The one for tv_grep
	  was tricky because many of that command's options are
	  automatically generated from the file format description in
	  XMLTV.pm.  From now on tv_grep.in is the file to edit, and
	  tv_grep.PL processes it into the final version.  Since tv_grep.in
	  behaves just like tv_grep this should not be any great hardship.

2002-02-23 11:34  epaepa

	* Makefile.PL, t/test_filters.t: The special test case handling is
	  no longer needed, we just need to tell test_filters.t where the
	  programs and data files can be found and then we can use
	  Test::Harness as normal.

2002-02-22 13:27  epaepa

	* Makefile.PL, filter/tv_cat: Our first manual page - for tv_cat.
	  Will add manpages for all the other command-line tools soon.

2002-02-22 13:09  epaepa

	* Makefile.PL: Fixed version number in directory
	  .../share/doc/xmltv-$VERSION.

2002-02-22 13:06  epaepa

	* MANIFEST, Makefile.PL, tv_cat, tv_check, tv_extractinfo_en,
	  tv_grab_na, tv_grab_uk, tv_grep, tv_pick_cgi, tv_sort,
	  tv_to_latex, choose/tv_check/README.tv_check,
	  choose/tv_check/tv_check, choose/tv_check/tv_check_doc.html,
	  choose/tv_check/tv_check_doc.jpg, choose/tv_pick/tv_pick_cgi,
	  doc/COPYING, doc/README, doc/coding_standards,
	  doc/grabber_interface, doc/tv_check_doc.html,
	  doc/tv_check_doc.jpg, doc/code/coding_standards,
	  doc/code/grabber_interface, filter/tv_cat,
	  filter/tv_extractinfo_en, filter/tv_grep, filter/tv_sort,
	  filter/tv_to_latex, grab/na/ZapListings.pm, grab/na/tv_grab_na,
	  grab/uk/Ananova_Channel.pm, grab/uk/UK_TZ.pm, grab/uk/tv_grab_uk,
	  t/README, t/parallel_test, t/test_filters.t, t/data/dups.xml,
	  t/data/overlap.xml, t/data/sort.xml, t/data/test.xml,
	  t/data/test_livre.xml, t/data/tv_cat_dups_xml.expected,
	  t/data/tv_cat_overlap_xml.expected,
	  t/data/tv_cat_sort_xml.expected,
	  t/data/tv_cat_test_livre_xml.expected,
	  t/data/tv_cat_test_xml.expected,
	  t/data/tv_extractinfo_en_dups_xml.expected,
	  t/data/tv_extractinfo_en_overlap_xml.expected,
	  t/data/tv_extractinfo_en_sort_xml.expected,
	  t/data/tv_extractinfo_en_test_livre_xml.expected,
	  t/data/tv_extractinfo_en_test_xml.expected,
	  t/data/tv_grep_a_dups_xml.expected,
	  t/data/tv_grep_a_overlap_xml.expected,
	  t/data/tv_grep_a_sort_xml.expected,
	  t/data/tv_grep_a_test_livre_xml.expected,
	  t/data/tv_grep_a_test_xml.expected,
	  t/data/tv_grep_category_b_dups_xml.expected,
	  t/data/tv_grep_category_b_overlap_xml.expected,
	  t/data/tv_grep_category_b_sort_xml.expected,
	  t/data/tv_grep_category_b_test_livre_xml.expected,
	  t/data/tv_grep_category_b_test_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_dups_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_overlap_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_sort_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_test_livre_xml.expected,
	  t/data/tv_grep_category_e_and_title_f_test_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_dups_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_overlap_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_sort_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_livre_xml.expected,
	  t/data/tv_grep_category_g_or_title_h_test_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_dups_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_overlap_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_sort_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_test_livre_xml.expected,
	  t/data/tv_grep_channel_id_channel4_com_test_xml.expected,
	  t/data/tv_grep_channel_name_d_dups_xml.expected,
	  t/data/tv_grep_channel_name_d_overlap_xml.expected,
	  t/data/tv_grep_channel_name_d_sort_xml.expected,
	  t/data/tv_grep_channel_name_d_test_livre_xml.expected,
	  t/data/tv_grep_channel_name_d_test_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_dups_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_overlap_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_sort_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_livre_xml.expected,
	  t/data/tv_grep_eval_scalar_keys_5_test_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_dups_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_overlap_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_sort_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_test_livre_xml.expected,
	  t/data/tv_grep_i_category_i_title_j_test_xml.expected,
	  t/data/tv_grep_i_last_chance_c_dups_xml.expected,
	  t/data/tv_grep_i_last_chance_c_overlap_xml.expected,
	  t/data/tv_grep_i_last_chance_c_sort_xml.expected,
	  t/data/tv_grep_i_last_chance_c_test_livre_xml.expected,
	  t/data/tv_grep_i_last_chance_c_test_xml.expected,
	  t/data/tv_grep_new_dups_xml.expected,
	  t/data/tv_grep_new_overlap_xml.expected,
	  t/data/tv_grep_new_sort_xml.expected,
	  t/data/tv_grep_new_test_livre_xml.expected,
	  t/data/tv_grep_new_test_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_dups_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_overlap_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_sort_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_test_livre_xml.expected,
	  t/data/tv_grep_on_after_2002_02_05_test_xml.expected,
	  t/data/tv_sort_dups_xml.expected,
	  t/data/tv_sort_overlap_xml.expected,
	  t/data/tv_sort_sort_xml.expected,
	  t/data/tv_sort_test_livre_xml.expected,
	  t/data/tv_sort_test_xml.expected,
	  t/data/tv_to_latex_dups_xml.expected,
	  t/data/tv_to_latex_overlap_xml.expected,
	  t/data/tv_to_latex_sort_xml.expected,
	  t/data/tv_to_latex_test_livre_xml.expected,
	  t/data/tv_to_latex_test_xml.expected, test_data/README,
	  test_data/dups.xml, test_data/dups.xml._tv_cat.diff,
	  test_data/fff, test_data/overlap.xml, test_data/sort.xml,
	  test_data/test.xml, test_data/test_livre.xml,
	  test_data/tv_cat_dups_xml.expected,
	  test_data/tv_cat_overlap_xml.expected,
	  test_data/tv_cat_sort_xml.expected,
	  test_data/tv_cat_test_livre_xml.expected,
	  test_data/tv_cat_test_xml.expected,
	  test_data/tv_extractinfo_en_dups_xml.expected,
	  test_data/tv_extractinfo_en_overlap_xml.expected,
	  test_data/tv_extractinfo_en_sort_xml.expected,
	  test_data/tv_extractinfo_en_test_livre_xml.expected,
	  test_data/tv_extractinfo_en_test_xml.expected,
	  test_data/tv_grep_a_dups_xml.expected,
	  test_data/tv_grep_a_overlap_xml.expected,
	  test_data/tv_grep_a_sort_xml.expected,
	  test_data/tv_grep_a_test_livre_xml.expected,
	  test_data/tv_grep_a_test_xml.expected,
	  test_data/tv_grep_category_b_dups_xml.expected,
	  test_data/tv_grep_category_b_overlap_xml.expected,
	  test_data/tv_grep_category_b_sort_xml.expected,
	  test_data/tv_grep_category_b_test_livre_xml.expected,
	  test_data/tv_grep_category_b_test_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_dups_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_overlap_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_sort_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_test_livre_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_test_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_dups_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_overlap_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_sort_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_test_livre_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_test_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_dups_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_overlap_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_sort_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_test_livre_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_test_xml.expected,
	  test_data/tv_grep_channel_name_d_dups_xml.expected,
	  test_data/tv_grep_channel_name_d_overlap_xml.expected,
	  test_data/tv_grep_channel_name_d_sort_xml.expected,
	  test_data/tv_grep_channel_name_d_test_livre_xml.expected,
	  test_data/tv_grep_channel_name_d_test_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_dups_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_overlap_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_sort_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_test_livre_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_test_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_dups_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_overlap_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_sort_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_test_livre_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_test_xml.expected,
	  test_data/tv_grep_i_last_chance_c_dups_xml.expected,
	  test_data/tv_grep_i_last_chance_c_overlap_xml.expected,
	  test_data/tv_grep_i_last_chance_c_sort_xml.expected,
	  test_data/tv_grep_i_last_chance_c_test_livre_xml.expected,
	  test_data/tv_grep_i_last_chance_c_test_xml.expected,
	  test_data/tv_grep_new_dups_xml.expected,
	  test_data/tv_grep_new_overlap_xml.expected,
	  test_data/tv_grep_new_sort_xml.expected,
	  test_data/tv_grep_new_test_livre_xml.expected,
	  test_data/tv_grep_new_test_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_dups_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_overlap_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_sort_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_test_livre_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_test_xml.expected,
	  test_data/tv_sort_dups_xml.expected,
	  test_data/tv_sort_overlap_xml.expected,
	  test_data/tv_sort_sort_xml.expected,
	  test_data/tv_sort_test_livre_xml.expected,
	  test_data/tv_sort_test_xml.expected,
	  test_data/tv_to_latex_dups_xml.expected,
	  test_data/tv_to_latex_overlap_xml.expected,
	  test_data/tv_to_latex_sort_xml.expected,
	  test_data/tv_to_latex_test_livre_xml.expected,
	  test_data/tv_to_latex_test_xml.expected, test_scripts/README,
	  test_scripts/parallel_test, test_scripts/test_filters: Packaged
	  using a Makefile.PL, loosely based on Justin H.'s work.  To
	  install:

	  % perl Makefile.PL % make % make test % make install

	  This allows us to arrange the source tree more tidily, since it
	  no longer has to correspond 1-1 with what is installed.

2002-02-22 12:43  epaepa

	* todo/TASKS.epa: Update on a couple of DTD controversies.

2002-02-22 12:42  epaepa

	* tv_grab_na: Changed long options to use hyphens instead of
	  underscores.

2002-02-20 01:45  jveldhuis

	* tv_grab_na: fixed usage

2002-02-20 01:42  jveldhuis

	* tv_grab_na: added options to --configure to auto answer
	  interactive questions and do things like fail with exit 1 if
	  provider changed. This is to factilitate the automatic addition
	  and removal of channels without user intervention.

2002-02-17 23:28  rmeden

	* tv_check: add device name to episode output.	change scan order
	  for conflict resolution

2002-02-14 11:42  epaepa

	* test_scripts/test_filters: Allow the directory containing filter
	  programs and the directory containing test input / output to be
	  overridden on the command line.  Remove the generated output
	  after a successful test.

2002-02-14 11:41  epaepa

	* XMLTV.pm: Better warning message when you pass in a hash with
	  undef values.

2002-02-14 09:53  epaepa

	* tv_grep: Perl's autovivification was tending to create undef hash
	  elements when tv_grep looked for things.  Rewrote the tests to be
	  more cautious and always check 'if exists $_->{whatever}' before
	  going on to perform operations on that key.  Seems to have cured
	  the problem.

2002-02-14 09:03  epaepa

	* tv_to_latex: Gave up on messing around trying to find a way to
	  convert UTF-8 to Latin-1.  We now just insist that
	  Unicode::String be available.  It was a bit pointless trying to
	  work around that one missing module when the XMLTV package
	  depends on a dozen others.  Motivated by wanting the same output
	  from tv_to_latex on every system, to pass test suite.

2002-02-14 08:56  epaepa

	* test_scripts/test_filters: More conventional Perlish interface
	  for test suite, prints 'ok X' or 'not ok X' for each test.

2002-02-14 08:39  epaepa

	* test_scripts/test_xmltv_module: Removing test_xmltv_module, it
	  has been subsumed by tv_cat.

2002-02-14 07:23  epaepa

	* test_data/dups.xml._tv_cat.diff, test_data/fff,
	  test_data/tv_cat_dups_xml.expected,
	  test_data/tv_cat_overlap_xml.expected,
	  test_data/tv_cat_sort_xml.expected,
	  test_data/tv_cat_test_livre_xml.expected,
	  test_data/tv_cat_test_xml.expected,
	  test_data/tv_extractinfo_en_dups_xml.expected,
	  test_data/tv_extractinfo_en_overlap_xml.expected,
	  test_data/tv_extractinfo_en_sort_xml.expected,
	  test_data/tv_extractinfo_en_test_livre_xml.expected,
	  test_data/tv_extractinfo_en_test_xml.expected,
	  test_data/tv_grep_a_dups_xml.expected,
	  test_data/tv_grep_a_overlap_xml.expected,
	  test_data/tv_grep_a_sort_xml.expected,
	  test_data/tv_grep_a_test_livre_xml.expected,
	  test_data/tv_grep_a_test_xml.expected,
	  test_data/tv_grep_category_b_dups_xml.expected,
	  test_data/tv_grep_category_b_overlap_xml.expected,
	  test_data/tv_grep_category_b_sort_xml.expected,
	  test_data/tv_grep_category_b_test_livre_xml.expected,
	  test_data/tv_grep_category_b_test_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_dups_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_overlap_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_sort_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_test_livre_xml.expected,
	  test_data/tv_grep_category_e_and_title_f_test_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_dups_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_overlap_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_sort_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_test_livre_xml.expected,
	  test_data/tv_grep_category_g_or_title_h_test_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_dups_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_overlap_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_sort_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_test_livre_xml.expected,
	  test_data/tv_grep_channel_id_channel4_com_test_xml.expected,
	  test_data/tv_grep_channel_name_d_dups_xml.expected,
	  test_data/tv_grep_channel_name_d_overlap_xml.expected,
	  test_data/tv_grep_channel_name_d_sort_xml.expected,
	  test_data/tv_grep_channel_name_d_test_livre_xml.expected,
	  test_data/tv_grep_channel_name_d_test_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_dups_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_overlap_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_sort_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_test_livre_xml.expected,
	  test_data/tv_grep_eval_scalar_keys_5_test_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_dups_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_overlap_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_sort_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_test_livre_xml.expected,
	  test_data/tv_grep_i_category_i_title_j_test_xml.expected,
	  test_data/tv_grep_i_last_chance_c_dups_xml.expected,
	  test_data/tv_grep_i_last_chance_c_overlap_xml.expected,
	  test_data/tv_grep_i_last_chance_c_sort_xml.expected,
	  test_data/tv_grep_i_last_chance_c_test_livre_xml.expected,
	  test_data/tv_grep_i_last_chance_c_test_xml.expected,
	  test_data/tv_grep_new_dups_xml.expected,
	  test_data/tv_grep_new_overlap_xml.expected,
	  test_data/tv_grep_new_sort_xml.expected,
	  test_data/tv_grep_new_test_livre_xml.expected,
	  test_data/tv_grep_new_test_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_dups_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_overlap_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_sort_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_test_livre_xml.expected,
	  test_data/tv_grep_on_after_2002_02_05_test_xml.expected,
	  test_data/tv_sort_dups_xml.expected,
	  test_data/tv_sort_overlap_xml.expected,
	  test_data/tv_sort_sort_xml.expected,
	  test_data/tv_sort_test_livre_xml.expected,
	  test_data/tv_sort_test_xml.expected,
	  test_data/tv_to_latex_dups_xml.expected,
	  test_data/tv_to_latex_overlap_xml.expected,
	  test_data/tv_to_latex_sort_xml.expected,
	  test_data/tv_to_latex_test_livre_xml.expected,
	  test_data/tv_to_latex_test_xml.expected,
	  test_scripts/test_filters: Finally start using all those test
	  cases I've been accumulating.  The new script test_filters runs
	  each filter program on each file in turn, and compares against
	  the expected result.

	  Now these expected results have not actually been checked by hand
	  - so at present all you're testing is that the behaviour hasn't
	  been changed since last time.  However I'm reasonably confident
	  that the current lot of filters work properly, so this will act
	  as a useful regression test.

	  Grabbers are harder to test, but we do have parallel_test for
	  that, it could be adapted to deal with tv_grab_na as well.  An
	  automated test for tv_check or tv_pick_cgi seems pretty difficult
	  though.

2002-02-14 07:16  epaepa

	* test_scripts/parallel_test: Added another test (channel name
	  matching), and timing both old and new versions.

2002-02-14 07:14  epaepa

	* test_data/test.xml: Fixed to conform to DTD.

2002-02-14 07:13  epaepa

	* tv_to_latex: Added --output option, required by new test suite.

2002-02-14 07:12  epaepa

	* tv_grep: Fixed argument matching and exit status.

	  (Errors revealed by test suite, which I'm about to commit.)

2002-02-13 15:08  epaepa

	* tv_grab_uk: To reduce on server load I've agreed with Ananova a
	  system to fetch multiple pages at once.  This should also make
	  tv_grab_uk a lot faster for many users.

2002-02-13 12:49  epaepa

	* tv_grab_uk: Fixed the selection of individual channels.  Also
	  noticed a design bug which makes it impossible to choose
	  individual channels if they don't have explicit XMLTV ids added.
	  Uurgh, the whole thing is so horrible...

2002-02-13 12:02  epaepa

	* tv_cat: Adding tv_cat, another filter inspired by Unix tools.
	  This one concatenates listing files.	I just wrote it as a
	  replacement for test_xmltv_module, a program which reads data
	  with XMLTV.pm and then writes it again.  This will be useful for
	  testing.

2002-02-11 12:31  epaepa

	* README: Added a list of (Perl module) dependencies.  Now README
	  and doc/QuickStart can completely replace the 'installation and
	  usage' sections of the website, which is probably a good thing
	  (info on usage belongs together with the programs themselves, and
	  should not be duplicated).

2002-02-11 11:57  epaepa

	* parallel_test, test_xmltv_module, test_scripts/README,
	  test_scripts/parallel_test, test_scripts/test_xmltv_module:
	  Tidied up the package root directory a little by moving a couple
	  of files to test_scripts/.

2002-02-11 11:53  epaepa

	* UK_TZ.pm, ZapListings.pm: Removing old versions of Perl modules
	  that have moved to the XMLTV/ directory.

2002-02-11 11:52  epaepa

	* README, doc/QuickStart, doc/coding_standards: Rewrote
	  doc/QuickStart as summary documentation for each tool.

2002-02-11 11:37  rmeden

	* README.tv_check: added html option to quick instructions

2002-02-11 10:24  epaepa

	* Ananova_Channel.pm: Removing leftover Ananova_Channel.pm, it has
	  moved to the XMLTV/ subdirectory.

2002-02-10 13:25  rmeden

	* README.tv_check: doc update for conflict checking.  also a
	  simpler quick-start guide

2002-02-10 13:01  rmeden

	* tv_check: changed hardcoded show column numbers to use names.
	  added column for recording device added conflict detection

2002-02-07 23:40  rmeden

	* tv_check: fix bug on update not updating the correct row

2002-02-07 12:31  epaepa

	* XMLTV.pm, parallel_test, test_xmltv_module, tv_grab_na,
	  tv_grab_uk, tv_sort, tv_to_latex, XMLTV/Ananova_Channel.pm,
	  XMLTV/UK_TZ.pm, XMLTV/ZapListings.pm, todo/TASKS.epa: Moved the
	  three miscellaneous Perl modules (ie, anything except XMLTV.pm)
	  into the XMLTV:: namespace and their own directory.  This is not
	  the final file reorganization, I'm just changing the code to make
	  it easier to package.

2002-02-07 06:44  epaepa

	* tv_extractinfo_en: Dealt with some false positives for children's
	  shows.

2002-02-06 00:28  rmeden

	* tv_check: Misc cleanup, improved scoping, added "use strict"

	  fixed bug/feature with length.  Blank show length now means
	  ignore length

	  added and centralized validation of fields for add/update

2002-02-05 15:49  jveldhuis

	* tv_grab_na: fixed default choice when choosing new provider
	  during --configure

2002-02-05 12:53  epaepa

	* tv_check: Okay, the Revision: line works, just making it fontify
	  correctly.

2002-02-05 12:49  epaepa

	* tv_check: Trying to fix the Revision: autoexpansion, let's see if
	  it works.

2002-02-05 12:40  jveldhuis

	* tv_grab_na: fixed missing semicolon

2002-02-05 12:00  epaepa

	* README, README.tv_check, README.tvcheck, ZapListings.pm,
	  getlistings_na, getlistings_uk_ananova, listings_to_latex,
	  parallel_test, pick_cgi, sort_listings, tv_check,
	  tv_extractinfo_en, tv_grab_na, tv_grab_uk, tv_grep, tv_pick_cgi,
	  tv_sort, tv_to_latex, tvcheck, attic/getlistings_nl,
	  attic/tv_grab_nl, doc/QuickStart, doc/tv_check_doc.html,
	  doc/tv_check_doc.jpg, doc/tvcheck_doc.html, doc/tvcheck_doc.jpg,
	  test_data/README, todo/TASKS.epa: *** Great Renaming ***

	  This is it.  All the executables should now have reasonably
	  sensible names beginning with tv_.  Grabbers begin tv_grab, tools
	  like tv_sort and tv_grep should have at least some small
	  resemblance to their Unix counterparts, and even miscellaneous
	  stuff like tv_parsedesc_en begins with the tv_ prefix so you can
	  use tab-completion easily.

	  Note, I have gone through and semi-intelligently replaced
	  occurrences of the old names.  I do not believe I have broken
	  anything.  However, I didn't test the renamed versions, because I
	  want to get this committed to CVS ASAP to avoid conflicts.  (Not
	  pretty when renamed files conflict...)

	  Please 'cvs update' and switch to the new names, I will test the
	  renamed versions and then commit any further changes needed to
	  get things working again.  If there are breakages, they will be
	  trivial and quick to mend.

	  This renaming is a precursor to making a nice tidy installer and
	  perhaps some more shuffling around of directories: but I think
	  that the renamed version as it stands now should be releasable.
	  After checking it all works, I will probably tag the tree as
	  0.4.4pre so we have something to fall back on in case we need to
	  release a new version urgently.

2002-02-05 11:18  epaepa

	* todo/TASKS.epa: Went through my inbox and noted down remaining
	  requests from users and things that need fixing.  Ouch, that's a
	  lot of tasks.

2002-02-04 13:21  epaepa

	* getlistings_uk_ananova, sort_listings, tv_extractinfo_en,
	  tv_grep: Added --output option requested by Andy B. to all
	  programs that generate XML listings.	Also a usage message where
	  one was missing.

2002-02-04 13:19  epaepa

	* todo/TASKS.epa: Update to my todo list.

2002-02-04 12:39  jveldhuis

	* doc/coding_standards: fixed Id entry

2002-02-04 12:38  jveldhuis

	* ZapListings.pm: now identifies Comedia categories in french
	  listings

2002-02-04 12:37  epaepa

	* XMLTV.pm: Corrected wrong usage example for write_data().  In
	  fact the usage of write_data() depends on the arguments to
	  construct an XMLTV::Writer, which depends on how you construct an
	  XML::Writer... but IMHO this is the least silly way to do it.

2002-02-04 12:30  epaepa

	* filter_shown: Removing filter_shown in favour of tv_grep, which
	  does the same job and more (tv_grep --on-after X == filter_shown
	  -d X).  tv_grep is 25% slower due to using XMLTV.pm rather than
	  manipulating the DOM directly, but that's not worth worrying
	  about.

2002-02-04 12:20  epaepa

	* ZapListings.pm: Turn on env_proxy flag for HTTP::Request::Common,
	  so if you have http_proxy set in your environment that proxy
	  server will be used.

	  This may cause problems for some users with dodgy proxy servers:
	  if so just unset http_proxy before running.  I thought it was not
	  working for me, but it seems to be okay now.

2002-02-04 12:05  epaepa

	* tv_extractinfo_en: Fine-tuned 'presenter' matching so that
	  'former Eurotrash presenter Jean-Paul Gaultier' is not treated as
	  the presenter of the current programme.  (The word before
	  'presenter', if any, must begin with a capital letter.)

2002-02-04 11:19  epaepa

	* tv_grep: Oops, tv_grep was stripping out channel information
	  unless some channel predicates were given to specifically include
	  it.  Changed the default to be keeping all channels unchanged if
	  no channel predicates are specified.

2002-02-02 12:05  epaepa

	* tv_grep: Implemented some suggestions from Jerry about improving
	  the usage message.

2002-02-02 11:16  epaepa

	* tv_grep: Implemented filtering on channels: two new predicates
	  --channel-name and --channel-id.  These will filter out
	  programmes like the others but also remove <channel> elements
	  from the output.

	  I believe that tv_grep now has all the functionality of Simon
	  K.'s filter, although not quite the same syntax.

2002-02-02 10:40  epaepa

	* tv_grep: Better usage message including the autogenerated
	  predicates.

2002-02-02 10:31  epaepa

	* tv_grep: Automatically generaete a long option for every key a
	  programme hash can have.  Not all these long options are usable,
	  for example there is currently no way to search on audio
	  characteristics (so using --audio will give an error message).
	  But there are searches defined for simple text, text with
	  language, and booleans, so you can say things like:

	  % tv_grep -i --category drama % tv_grep --title Countdown
	  --on-after today % tv_grep -i --new --category comedy

	  If more keys are added in the DTD and XMLTV.pm, the set of long
	  options should expand automatically.

2002-02-02 10:00  epaepa

	* tv_grep: Better argument parsing using a new OptionAbbrev class
	  which allows non-ambiguous initial substrings to be used as
	  abbreviations for long options.  So for example --o is not an
	  acceptable abbreviation, it could be short for --or or
	  --on-after.

2002-02-02 08:46  epaepa

	* XMLTV.pm: Added list_programme_keys() which allows some limited
	  querying about the data structure: what keys can be in a
	  programme, and what format their values take.  This could be
	  useful for tools which need to automatically generate code for
	  each key in turn.  I wrote it for tv_grep, so that command line
	  options like --title X or --category -X can be created
	  mechanically (and when the DTD changes, hopefully only XMLTV.pm
	  needs to be updated).

2002-02-02 08:19  epaepa

	* tv_grep: Added --or (-o) option like find(1).

2002-02-01 14:53  epaepa

	* tv_grep: Another rewrite for tv_grep.  I am trying to make it do
	  everything that Simon Kittle's 'filter' program provides.  The
	  new version of tv_grep allows boolean expressions composed with
	  'and' and 'or' in the manner of find(1) - or it will when the
	  argument parser is finished.	Currently plain regexp search,
	  --on-after, and --eval (arbitrary Perl code) are implemented.
	  Just committing what I have so far.

2002-02-01 09:40  epaepa

	* getlistings_uk_ananova, parallel_test: When I converted
	  getlistings_uk_ananova to use XMLTV.pm for output I lost the
	  timezones in the output.  This is because I forgot that the
	  XMLTV.pm data structure should contain the output form of dates
	  and times, not the Date::Manip internal form.  We need to convert
	  dates for output with date_to_uk() before storing them in the
	  programme hash, and call ParseDate() when we read from the
	  programme hash.

	  The UK listings now include timezones once more - currently 'UT'
	  for every programme, I hope it won't break when BST comes around.
	   Also committing the parallel_test setup I used to check this
	  release.

2002-01-31 14:07  epaepa

	* tv_grep: Added -e option to specify arbitrary Perl code to
	  execute on each programme (truth value returned determines
	  whether the programme is included in the output).  This is really
	  just for the infrastructure, I will later add ready-made code
	  fragments for filtering on category, date and so on.

2002-01-31 13:25  epaepa

	* tv_grep: Added --ignore-case or -i option.

2002-01-31 11:57  epaepa

	* getlistings_uk_ananova: New versions of the Memoize module
	  deprecate TIE and want HASH instead.

2002-01-31 11:56  epaepa

	* XMLTV.pm: Bugfix for writing icons.

2002-01-31 11:49  epaepa

	* test_data/README: Added comment about test data for
	  tv_extractinfo_en, which I have but cannot commit to CVS.

2002-01-31 11:46  epaepa

	* attic/: ChangeLog.old, html_parsing, misc,
	  scrapped_getlistings_uk_ananova, second_getlistings_uk_ananova,
	  test_xmltv_module: Clearing out the 'attic'.	Removed
	  Changelog.old, it was a subset of the main Changelog.old.
	  Salvaged any reusable code from the two old versions of
	  getlistings_uk_ananova into files misc and html_parsing (plus
	  tv_extractinfo_en), and removed those files.	Removed
	  test_xmltv_module, we have a working version in the main
	  directory.

2002-01-31 10:51  epaepa

	* parallel_test: Test rig I use for checking changes to
	  getlistings_uk_ananova: it runs the old version and the new
	  version with various arguments and checks the results are
	  identical.  Needs a bit of polish, but could be used for testing
	  most programs in the XMLTV distribution.

2002-01-31 10:39  epaepa

	* tv_extractinfo_en: Added tv_extractinfo_en, which reads
	  English-language programme descriptions and attempts to sniff out
	  information which could better be stored in machine-readable
	  form.  This is mostly code which used to live in the old
	  scrapped_getlistings_uk_ananova in the attic/ directory, I've
	  just ported it to the new data structures and tidied it up.

	  This sort of regular expression matching works well on the long
	  detailed descriptions Ananova provides.  It's not so good on the
	  North American listings because they have shorter descriptions.
	  But it did manage to extract the names of quiz show hosts.

2002-01-30 11:31  epaepa

	* tv_grep: First version of tv_grep, which filters particular
	  programmes from listings.  This version works by stringifying the
	  programme hash and regexp matching against that, which is kludgy
	  but effective.  Written to fill a need during debugging: more
	  fully-featured version to come later.

2002-01-30 02:09  rmeden

	* README.tvcheck, doc/tvcheck_doc.html: document the new color HTML
	  output format for a --scan

2002-01-30 01:59  rmeden

	* tvcheck: add HTML output option for color printing

2002-01-29 12:21  epaepa

	* getlistings_na: Changed quoting on Id line so it doesn't end with
	  $', which confuses XEmacs.  I apologize for having such a lame
	  editor :-(.

2002-01-29 12:18  epaepa

	* Ananova_Channel.pm, XMLTV.pm, listings_to_latex, tvcheck: Added
	  support for channel icons and URLs to XMLTV.pm.  The channels
	  data structure it returns is different (a hash mapping channel id
	  to channel hashes, rather than just lists of display-names) and
	  the interface to write_channel() has changed.  I hope I've
	  modified every program which depends on this.

2002-01-29 10:47  jveldhuis

	* ZapListings.pm: added a couple more languages I've seen.  no
	  longer print	   possible candidate for program detail we didn't
	  identify (``movie-title'') for program details that start with ``
	  and end in ''.  These seem to be related movie titles actors have
	  appeared in before.  I didn't remove them from the output before
	  this because i wanted to get a good sense of what they were
	  instead of assuming they're something we don't care about.

	  Changed all POST() calls that have empty param lists [] to GET()
	  calls instead. -- suggested by Paul Haggart <xmltv@bsfh.org>
	  (this seem to fix some proxy/firewall issues he was having, not
	  sure, but a good suggestion either way)

2002-01-29 10:39  jveldhuis

	* getlistings_na: fixed providers question so default choice works
	  if return is hit instead of re-asking the question

2002-01-29 08:30  epaepa

	* XMLTV.pm: Factored out going through @Handlers when reading a
	  <programme> element into its own subroutine call_handlers_read().
	  This is because I plan to use the same method for reading
	  channels.

2002-01-28 11:11  epaepa

	* getlistings_uk_ananova: Output categories better.  Ananova's
	  categories are 99% in English, they just need some tweaking to
	  get the coveted lang="en" certification :-).

2002-01-28 07:42  epaepa

	* XMLTV.pm: Improve checking for bad keys in hashes (to catch
	  errors when you misspell '$p{desc}' as '$p{decs}', rather than
	  silently skipping over the 'decs' key).  Keys beginning with an
	  underscore are now considered to be random junk which shouldn't
	  be written (so you can annotate programmes with whatever extra
	  information you want).

2002-01-21 11:47  epaepa

	* XMLTV.pm: The [text, language] pair returned from best_name() is
	  now one of those originally passed in (remember that these
	  anonymous pairs are passed by reference).  This means that you
	  can call best_name() on for example the descriptions of a
	  programme, find the pair you want, and modify it in-place.

2002-01-21 10:28  epaepa

	* XMLTV.pm, listings_to_latex, pick_cgi: Whoops.  A mistake in the
	  comment above best_name() caused me to implement the new return
	  value wrongly.  All human-readable text in XMLTV.pm is returned
	  as [ text, language ] pairs or maybe just [ text ].  I've
	  corrected best_name() to follow this convention.

2002-01-21 10:11  epaepa

	* XMLTV.pm, listings_to_latex, pick_cgi: Changed the behaviour of
	  best_name(), which picks the best choice for your current
	  language from a list of [language, text] pairs.  The new version
	  returns a pair [language, text], so you know what language was
	  picked.  The optional comparison function you pass in to compare
	  text strings is unchanged.

2002-01-21 01:29  rmeden

	* doc/: tvcheck_doc.html, tvcheck_doc.jpg: initial load

2002-01-20 09:55  epaepa

	* README, getlistings_uk_ananova: Updated version number to 0.4.3.

2002-01-20 09:50  epaepa

	* todo/TASKS.epa: Noticed another bug which of course I will fix at
	  the earliest opportunity (cough).

2002-01-19 23:52  rmeden

	* tvcheck: fixed bug in title chooser

2002-01-19 18:58  jveldhuis

	* getlistings_na: added --offset as per request/suggestion from
	  mielikki@users.sourceforge.net

2002-01-19 18:01  jveldhuis

	* getlistings_na: fixed carp() call when running with
	  --debuglistings enabled and a program description contains '--',
	  which is illegal in XML::Writer.

2002-01-19 17:26  jveldhuis

	* getlistings_na: usage messages now come to stdout when --help is
	  used and stderr if usage is incorrect. Also minor version number
	  is calculated from rcs id. This is minor since the version
	  information is mainly for the output 'tv' element and controling
	  the versions of xmltv_na configuration files.

2002-01-19 15:09  rmeden

	* tvcheck: Minor bug-fixes, mostly cleaning up GUI.  Added --output
	  option

2002-01-19 14:49  epaepa

	* getlistings_na: Made all grabbing error messages go to stderr
	  rather than stdout, so they don't get mixed in with the XML
	  listings.  This includes the usage message.  For consistency
	  changed the --configure usage message to stderr too.

2002-01-19 13:40  jveldhuis

	* getlistings_na: verifies provider information during configure
	  and during grab.

2002-01-19 13:38  epaepa

	* todo/TASKS.epa: Update of my task list.  This file will
	  eventually disappear completely - but not quite yet :-(.

2002-01-19 13:32  epaepa

	* getlistings_uk_ananova: Fixed selection of regions by name.
	  Dealt with FIXME for multiple descriptions - now all the
	  descriptions from Ananova are included in the output XML, with
	  the main description coming first.

2002-01-19 13:07  epaepa

	* tvcheck: Parse episode-num better.  Still not perfect, but should
	  work with files currently generated.

2002-01-19 13:05  epaepa

	* XMLTV.pm: Moved the channel writing code into a subroutine
	  write_channel() which can be called externally.  This is needed
	  for the new getlistings_uk_ananova.

2002-01-18 15:44  epaepa

	* Ananova_Channel.pm, getlistings_uk_ananova: Refactored
	  getlistings_uk_ananova's channel management into
	  Ananova_Channel.pm.  Previously there were too many hashes
	  mapping between XMLTV channel id, Ananova channel id, Ananova
	  display name (which comes in two forms), additional display name,
	  broadcast method or region, channel packages, and what the user
	  wishes to download.  It's a little bit saner now but still rather
	  ugly.

	  The Ananova_Channel package is not in any way a general or
	  reusable set of channel management routines.	It's very specific
	  to the peculiarities of this data source.  The name sucks, but
	  we're going to rename everything soon anyway.

	  Also a few bug fixes including that the episode-num is now
	  written out properly (at least until that bit of DTD gets
	  replaced with something saner), updates to channel definitions
	  and packages, and general tidying.

	  The old option ALL to get every one of Ananova's pages will
	  probably become undocumented in the next release.  It doesn't
	  work that well because often two different pages on Ananova are
	  mapped to the same XMLTV channel.  It ends up grabbing both.
	  This is however useful for checking the output, running it
	  through sort_listings to check that the two Ananova channels are
	  indeed identical, so I won't remove this ability completely.

2002-01-17 02:18  rmeden

	* README.tvcheck, tvcheck: Moved Exit button to under file menu.
	  added OnDestroy method on main app close added keyboard shortcuts
	  to menus

	  SHOW TABLE	code for minimum number of rows now works    you
	  can no longer select blank rows

	  Selection List    changed ENTRY widgets to use a --textvariable,
	  simpler code.

2002-01-16 00:50  rmeden

	* tvcheck: replace --guide paramter with --listings to match
	  getlistings_na avoid warning when no prefered language is given

2002-01-14 09:16  jveldhuis

	* getlistings_na: changed prompts for add/drop channels to have
	  'all' option.

2002-01-11 09:59  epaepa

	* README: Updated for 0.4.2.

2002-01-11 02:05  rmeden

	* tvcheck: remove debug message... oops

2002-01-11 00:37  rmeden

	* README.tvcheck: update readme to match current tvcheck version

2002-01-11 00:36  rmeden

	* tvcheck: fix the revision number in the options list

2002-01-11 00:20  rmeden

	* tvcheck:
	  changed command line options to use getopt::long, like the other
	  modules removed allchan option, now all options remove things
	  added   chanonly option to replace allchan added   neartime
	  option to include only shows within about 3 hours.  bumped
	  version number to 2.0... why.. because I deserve it!

	  and the biggie.  added --configure switch that uses TK to allow
	  you to create the shows.xml file!

2002-01-08 08:40  epaepa

	* mkdist: Added --step by step confirmation for cowardly people
	  like me.

2002-01-08 08:30  epaepa

	* pick_cgi: Finished rewriting to use XMLTV.pm.  The version
	  released with 0.4.1 didn't work at all because I forgot to copy
	  it into my CGI directory before testing.  Now writes an XML file
	  to the current directory which the user downloads normally.

2002-01-08 08:28  epaepa

	* XMLTV.pm: write_data() now takes extra arguments passed to
	  XMLTV::Writer's constructor.	This allows you to easily write
	  programmes to a different filehandle, for example.

2002-01-08 08:27  epaepa

	* attic/scrapped_getlistings_uk_ananova: Tidied by removing
	  trailing whitespace.	I'm going to remove this file soon, but in
	  the meantime I don't want it looking ugly in XEmacs :-).

2002-01-07 12:54  epaepa

	* getlistings_uk_ananova: Removed code which maintains a 'relation'
	  among programmes sharing a clump.  With the old grabber this was
	  necessary because special fixups to a programme might require
	  others in its clump to be updated.  But the special handlers are
	  no longer used (though I plan to move them into a tool of their
	  own) so there's no need to keep track of clumps beyond just
	  adding the clumpidx to each programme hash.  This is just cutting
	  out dead code.

2002-01-07 10:39  epaepa

	* attic/getlistings_na: Removing old version of getlistings_na that
	  read data from clicktv.  They have finally shut up shop and
	  started redirecting to zap2it.

2002-01-07 10:37  epaepa

	* attic/channeltest.pl: Removed test code for TVChannels module.

2002-01-07 10:36  epaepa

	* attic/TVChannels.pm: Removed old TVChannels module; its
	  functionality is provided by the XMLTV module.

2002-01-07 10:33  epaepa

	* analyse_tvprefs/analyse_tvprefs: Tidied by removing trailing
	  whitespace on comments; removed CVS logs.

2002-01-07 10:30  epaepa

	* ZapListings.pm: Tidied file by getting rid of spaces on lines
	  that were all spaces.

2002-01-07 10:27  epaepa

	* UK_TZ.pm: Tidied up file by removing trailing whitespace.

2002-01-02 23:55  rmeden

	* tvcheck: Display part x/y info stored in the "episode-num" field

2002-01-02 17:10  jveldhuis

	* getlistings_na: added --debuglistings that puts html source in
	  output listings as comments

2002-01-02 17:10  jveldhuis

	* ZapListings.pm: fixed occational problem where listings have bad
	  end-times

2002-01-02 15:47  jveldhuis

	* ZapListings.pm: added Swedish

2002-01-01 16:14  jveldhuis

	* ZapListings.pm, getlistings_na: - program titles that end in
	  'Part \d of \d' get moved   into episode-num section of programme

2002-01-01 15:22  jveldhuis

	* mkdist: better description of whats left after mkdist is run

2002-01-01 14:57  jveldhuis

	* mkdist: added comment about script should be run in an empty
	  directory

2002-01-01 14:56  jveldhuis

	* mkdist: checks and fails run if ./xmltv exists

2002-01-01 14:53  jveldhuis

	* mkdist: now warns about README contents should be updated prior
	  to mkdist now gets --sfuser from ~/.cvspass if it can instead of
	  from the command line.

2002-01-01 14:49  jveldhuis

	* README: updated README contents

2002-01-01 13:11  jveldhuis

	* mkdist: better usage

2001-12-31 18:59  epaepa

	* getlistings_uk_ananova: Updated list of 'gratis' channels based
	  on empirical evidence from Sky Digibox.  Unfortunately there are
	  still many channels which are viewable but not carried by Ananova
	  at all.  Added some error checking for the channel packages to
	  catch entry of nonexistent channels.

2001-12-31 13:25  jveldhuis

	* mkdist: new perl script version that does almost everything
	  needed to cut a release.

2001-12-31 12:39  rmeden

	* tvcheck: Pretty much a complete rewrite.  Logic reversed. Instead
	  of comparing "day" of episode data, now I convert show data to a
	  date and use that for the episode check.

	  If another episode is in a shows timeslot, details for that show
	  prints.

	  Output format now includes some episode details.

2001-12-31 11:47  jveldhuis

	* README: updated version info

2001-12-29 16:30  jveldhuis

	* ZapListings.pm: - only print 'identified possible candidate for
	  new language X in (Y-Z) if   one of Y or Z are language matches

2001-12-29 16:27  jveldhuis

	* ZapListings.pm, getlistings_na: - now when it provides a list of
	  providers the list is in the same   order as they appeared in the
	  www page. They provide the list is   a more logical order than
	  ordered by provider id.

2001-12-29 16:11  jveldhuis

	* ZapListings.pm: - added Aboriginal language - now support
	  identification of language declarations   'Hindi/Punjabi/Urdu',
	  but I'm not sure what it means

2001-12-29 15:48  jveldhuis

	* ZapListings.pm, getlistings_na: - configuration now uses channel
	  descriptions (usually   channel # and station letters) instead of
	  zap2it channel   id's.

	  - handles cable companies who have same channel id for different
	   channels in listings (have same schedule). Looks like they
	  broadcast the same channel, once in analog for peasants and
	  once in digital on two separate channels.

	  - handles cases where there seems to be two channel listings	 on
	  the same channel #. For instance in edmonton, my listings
	  currently have two channel 15s. I only get one :)

	  - this means output comes in channel description sorted order
	  instead of channel id order.

	  - automatically deals with version 1 config files with warning
	  to STDERR to re-run --configure.

	  - added ignored program details (10-1) which show up in sports
	  event   descriptions for win/loss stats.

	  - added ignored program detail (Cont'd) which seem to correlate
	  to   the music only channels where they want the listings to
	  appear every	 hour in the schedule even though the content is
	  continuous.

	  - added Oji-Cree to understood languages

2001-12-29 12:50  jveldhuis

	* getlistings_na, ZapListings.pm: - fixed some split calls where
	  the first arg was qw// instead of just   //. (thanks to Seamus
	  Venasse) - explicit about mkdir masks (using 0775 instead of
	  default 0777)

	  - fixed scraping problem where programs starting between 12pm and
	  1pm	with end times within that 12th hour we're getting adjusted
	  by 24 hour   instead of 0. - thanks Ed for this bug report.

2001-12-28 13:59  epaepa

	* README: Mentioned known bug in getlistings_na.

2001-12-28 13:33  epaepa

	* README.channels: Removed README.channels - it is obsolete now we
	  no longer have a separate channels file.  Sadly Goofy's channels
	  Perl module never got used, although XMLTV.pm provides something
	  similar.

2001-12-28 13:32  epaepa

	* getlistings_uk_ananova: Bumped version to XMLTV/0.4.

2001-12-28 13:31  epaepa

	* README: Updated README for version 0.4.

2001-12-28 12:57  epaepa

	* doc/QuickStart: Added an example of using getlistings_uk_ananova
	  to download individual channels and packages.

2001-12-28 12:56  epaepa

	* getlistings_uk_ananova: Added more fine-grained choosing of what
	  channels to download.  As well as regions you can now specify
	  channel names on the command line, or one of several hardcoded
	  channel packages.  We agreed on the mailing list that these
	  should be stored in separate files, but there isn't time to do
	  this for the 0.4 release.  (The whole directory structure needs
	  to be reorganized I think.)

2001-12-28 12:54  epaepa

	* todo/TASKS.epa: Added a few more todo-list items.

2001-12-28 11:31  jveldhuis

	* getlistings_na: changed name of config file from .config_na to
	  .xmltv_na

2001-12-28 09:48  epaepa

	* getlistings_uk_ananova: Modified not to write duplicate display
	  names for channels that appear under two different Ananova ids.

2001-12-28 09:36  epaepa

	* channels.dtd: Removing channels.dtd, it was merged into
	  xmltv.dtd.

2001-12-28 09:35  epaepa

	* todo/TASKS.epa: Added a todo item to finally write the filter /
	  searching tool discussed on the mailing list.

2001-12-28 09:34  epaepa

	* getlistings_uk_ananova: The --cache option now takes an argument
	  giving the cache filename.  Worked around an error in Ananova's
	  data.  Changed the internal names on a couple of channels to make
	  the digital and analogue versions distinct, since they differ a
	  tiny bit.

2001-12-28 09:32  epaepa

	* XMLTV.pm: Extra checking of attributes for the <programme>
	  element; added after I found I was writing 'end' instead of
	  'stop' in test cases!

2001-12-28 09:31  epaepa

	* test_data/: dups.xml, overlap.xml: A couple of test cases for the
	  new version of sort_listings.  It should correctly remove the
	  duplicates from dups.xml, and identify overlapping programmes in
	  overlap.xml.	Making these into automated tests is still todo.

2001-12-28 09:30  epaepa

	* sort_listings: Added code to remove duplicates.  This is useful
	  for Ananova's listings which give the same channel in several
	  files.  We also check to see if there are overlapping programmes
	  on the same channel (which must be wrong).

2001-12-28 06:29  epaepa

	* getlistings_uk_ananova: Bugfix: terrestrial channel codes end in
	  a digit, not begin.

2001-12-28 06:28  epaepa

	* tvcheck: Clarified usage message in comment (I hope).

2001-12-27 13:23  jveldhuis

	* ZapListings.pm: minor spelling fixes :)

2001-12-26 19:29  rmeden

	* README.tvcheck: updates to match tvhceck v1.4

2001-12-26 19:19  rmeden

	* tvcheck:
	  added anychan attribute added "sub-title" and "previously-shown"
	  to report.  added support for multiple languages changed to use
	  XMLTV.pm to read combined guide + channels.

2001-12-23 13:04  jveldhuis

	* getlistings_na: minor adjustment so we don't increment year more
	  than once on endofyear fixed

2001-12-23 13:01  jveldhuis

	* getlistings_na: now deals with cross-year listings properly.
	  Thanks to Brian J. Murrell who sent me the bug report. :)

2001-12-23 12:59  jveldhuis

	* ZapListings.pm: added Iranian to list of language identified add
	  dramma (french for drama) to items to look for.  idenfies
	  'lang-lang' program details just like (lang,lang)

2001-12-21 12:45  jveldhuis

	* getlistings_na: - default location of config file is
	  $HOME/.config_na.  - if HOME env variable not set, then
	  ./.config_na is used.  - updated usages message to reflect.

2001-12-21 09:10  epaepa

	* getlistings_uk_ananova: Moved setting $p{channel} for each
	  programme $p into get_file() where it belongs (dealt with FIXME).

2001-12-21 08:59  epaepa

	* getlistings_uk_ananova: Tidied away the ch_to_output hash so that
	  the ch_output() function is the only interface to it.

2001-12-21 08:46  epaepa

	* getlistings_uk_ananova: Just changed some comments.

2001-12-21 08:37  epaepa

	* getlistings_uk_ananova: Redid <video> and <audio> handling; now
	  if a programme is on a radio station we know that it has no
	  picture and does have sound (this deals with one FIXME).  Also if
	  a TV programme is stereo we know it has sound; if it's
	  black-and-white we know it has a picture.  Unfortunately we don't
	  get enough information to say for sure whether these things are
	  part of all programmes.  Fortunately the file format allows
	  'yes', 'no' - or missing for 'don't know'.

	  Cut down on bad date warnings when you're using the cache.

2001-12-21 01:14  rmeden

	* README.tvcheck: changed TVCHECK to "tvcheck" for correctness

2001-12-19 12:19  epaepa

	* xmltv.dtd: Bumped version number reflecting the inclusion of
	  channels; allowed channels to have icons.

2001-12-19 11:47  epaepa

	* getlistings_uk_ananova: Explicitly set Date::Manip's timezone so
	  it should work on Windows.

2001-12-19 11:07  epaepa

	* todo/TASKS.epa: Ticked off a couple of todo list items.

2001-12-19 11:06  epaepa

	* listings_to_latex: Removed confusing reference to
	  Lingua::Preferred (it's no longer called directly); added comment
	  warning about tmpnam() insecurity (but didn't bother to actually
	  fix the problem).

2001-12-19 11:05  epaepa

	* getlistings_uk_ananova: Fixed yet another [ text, lang ] bug;
	  reinstated memoization of date routines to get a small speedup;
	  added special-case code to avoid warning about a known
	  inconsistency ('Nickelodeon') in Ananova's data.

2001-12-19 10:10  epaepa

	* getlistings_uk_ananova: Removed the 'FIXME temporary speedup' and
	  replaced it with a --cache option to help debugging.	Adjusted
	  the (rather pointless) daytime/evening/latenight check to cope
	  with a 23:59 programme which Ananova classes as 'latenight'.

2001-12-19 07:27  epaepa

	* XMLTV.pm, listings_to_latex, pick_cgi: Both listings_to_latex and
	  pick_cgi had code to select one title (or description, etc) from
	  a list of several according to language and other factors.  I've
	  commonized this code into a routine best_name() in XMLTV.pm,
	  which chooses the best piece of text by first finding those that
	  are preferred because of their language, and if there is more
	  than one in this list, choosing between them based on which
	  appears first in the XMLTV file or based on a user-supplied
	  comparator.  listings_to_latex passes in a function which chooses
	  the shorter of two titles.  This might not work when none of the
	  available languages matches what's accepted by the user, should
	  test that.

	  Also modified pick_cgi to use XMLTV.pm instead of XML::Simple.

2001-12-19 07:21  epaepa

	* getlistings_uk_ananova: Fixed language-undefined bug where the [
	  text, lang ] pair was the wrong way round.  Hopefully I've now
	  eliminated all of these and standardized on putting text first
	  and (optionally) language second.

2001-12-17 00:08  rmeden

	* README.tvcheck: Initial load of README file for tvcheck

2001-12-16 21:51  rmeden

	* tvcheck: another attempt at the ID line.. maybe I should read the
	  manual

2001-12-16 21:47  rmeden

	* tvcheck: attempt to add version line

2001-12-13 19:05  jveldhuis

	* ZapListings.pm: - added a couple more languages

	  - now properly identifies subtitle declarations like:   "X and Y
	  subtitles"   "X with Y subtitles"   "X; Y subtitles"	 "X, Y
	  subtitles"   "X/Y subtitles"

	  - identifies dubbed declarations like   "X/Y"   "X,Y"   "X and Y"
	    "X with Y"

2001-12-13 19:05  jveldhuis

	* getlistings_na:
	  - added --output synonym for --listings to command line options

	  - --listings argument can also contain '%postalcode' or
	  '%zipcode'   which gets substituted based on configuration. This
	  allows   you to defined output files such as
	  %postalcode-%d%m%Y.xml   for instance.

	  - makes all missing directories to --listings output file.
	  This allows for --listings %d%m%Y/listings.xml

	  - now dubbed programmes include both 'orig-language' and
	  'language'   elements

2001-12-12 19:02  jveldhuis

	* getlistings_na: updated minor version #

2001-12-12 19:01  jveldhuis

	* getlistings_na: now attempts to deal with channels in channel #
	  order

2001-12-12 17:06  jveldhuis

	* getlistings_na: - should now conforms to new xmltv.dtd
	  (although I havn't run any output through a DOM parser)

	  - deprecated --programs and --channels as command line options
	  and added --listings

2001-12-12 16:28  jveldhuis

	* getlistings_na, ZapListings.pm: - added requirement for LWP 5.62
	  or later.  - added some new languages I found during overnight
	  use - fixed incorrect warnings about possibly missing program
	  details that appear in () but in the middle of the   program
	  descriptions.  - added check for some categories like (fiction)
	  (drama) that	 appear at the end of the program description
	  instead of   where the rest of the categories appear at the
	  beginning   of the program description.  - removed 'use
	  diagnositics' - --configure is interactive so I added a splash
	  screen with	a welcome message and version information that
	  might be   helpful down the road when doing problem diagnosis.

2001-12-11 13:18  epaepa

	* XMLTV.pm, ZapListings.pm, filter_shown, getlistings_na,
	  getlistings_uk_ananova, listings_to_latex, pick_cgi,
	  sort_listings, test_xmltv_module, xmltv.dtd,
	  attic/test_xmltv_module, doc/grabber_interface, test_data/README,
	  test_data/sort.xml, test_data/test.xml, test_data/test_livre.xml,
	  todo/TASKS.epa: Merged together the channels.dtd and xmltv.dtd
	  file formats, so a single XML file gives both programmes and
	  channels (with channels listed first).  This has meant changing
	  most programs which read or write these formats (although the old
	  tv.xml files will continue to work).	I took the opportunity to
	  rewrite XMLTV.pm so it inputs and outputs all the different parts
	  of the file format, although I'll probably need to rewrite it
	  again for speed.

	  XMLTV.pm now provides read_data() and write_data() routines which
	  deal with credits, channels and programmes in one go.  For lazy
	  writing of programmes you can use the XMLTV::Writer interface.

	  Getlistings_uk_ananova needed changing to handle the fact that
	  channels are written in the same file and _before_ any programe
	  details.  Also for the new cleaned-up XMLTV.pm interface which
	  insists on multivalued [ text, language ] pairs.  Added some new
	  channels which have appeared in the UK since the last update.

	  Listings_to_latex and sort_listings were rewritten to use
	  XMLTV.pm instead of XML::DOM.

	  Pick_cgi is probably *BROKEN* although I have made some fixes for
	  multivalued text-with-language.  I will fix it ASAP, I just
	  didn't want to wait any longer to get code out there.

	  Fixes to getlistings_na to comply with the old file format - but
	  _not_ yet to write channels and programmes in the same file.
	  That is still todo.

	  Small fixes to ZapListings.pm - not related to the xmltv.dtd
	  reorganization.

	  Added some test files and a test_xmltv_module program (which
	  should behave like cat(1) if the code is correct), but a proper
	  automated test suite remains to be done.

2001-12-04 20:29  jveldhuis

	* getlistings_na, ZapListings.pm: properly identifies:	 -
	  programme star ratings   - programme subtitles (include language
	  of subtitles as well)   - programme languages   - programme
	  ratings (MPAA, ESRB and VCHIP)   - fixed bug where dataElement
	  was called with one argument	 - better identification of valid
	  programme details   - better identification of possible updates
	  to identifiable     details list (ie new languages found)

	  properly identifies channels commented out of config file.

	  identifies and skips channels that are no longer available, but
	  appear in config file.

2001-11-29 01:15  rmeden

	* tvcheck: Initial load of tvcheck

2001-11-27 16:22  jveldhuis

	* getlistings_na: fixed check for getChannelList failing and
	  returning array with one undef element

2001-11-24 17:29  jveldhuis

	* mkdist: no longer ship Changelog.old

2001-11-24 17:27  jveldhuis

	* mkdist: no longer removes CVS dirs to tag can be done before tar
	  ball released

2001-11-24 17:25  jveldhuis

	* README, mkdist: prep work for 0.3.1, mkdist now removes CVS,leon
	  and todo dirs

2001-11-24 14:16  epaepa

	* doc/QuickStart: Added QuickStart doc from 0.3 release.

2001-11-23 19:12  jveldhuis

	* ZapListings.pm: 1. Fixed problems with cookies not getting set on
	  redirects.	 We now set the cookie_jar with the UserAgent and
	  the cookies	  get set automatically prior to requests.

	  2. dumpPage now increments counter so filenames actually change
	  :)

2001-11-22 13:24  epaepa

	* doc/coding_standards: Briefly explained the criteria I use for
	  adding features to the file format.

2001-11-21 15:42  jveldhuis

	* ZapListings.pm: increase in speed (my tests say 2 fold) with
	  cookie magic

2001-11-21 00:52  jveldhuis

	* todo/TASKS.epa: updated todo list removing "done" items
	  associated with me

2001-11-21 00:48  jveldhuis

	* ZapListings.pm, getlistings_na:
	  configure - now should work if you provide postal/zip code and
	  provider id		  on command line, cookie problems
	  prevented this from working.

	  grab - every grab starts off with warnings about new or missing
	  channels	  icons are grabbed from grid page to fill in
	  'icon' entries compliant	  with channels.dtd

2001-11-20 17:37  jveldhuis

	* xmltv.dtd: fixed id keyword

2001-11-20 10:25  jveldhuis

	* xmltv.dtd: added icon elements to programmes, ratings and
	  star-ratings

2001-11-20 10:24  jveldhuis

	* channels.dtd: added icon elements to channels

2001-11-20 10:13  epaepa

	* getlistings_uk_ananova: Moved the code to generate the hash of
	  channels into its own subroutine, channels_output().	The whole
	  thing is still a bit of a mess though.

2001-11-20 09:40  epaepa

	* getlistings_uk_ananova: Tidied up trailing spaces on comment
	  lines.  XEmacs flags them and they are kinda pointless, I've
	  decided.

2001-11-15 12:50  epaepa

	* ZapListings.pm: Removed _getChannelsList(), a subroutine which is
	  never called.  Probably it was some older version of the code.
	  Now we have CVS there's less need for that.

	  Created dumpPage(), a routine which makes a 'core dump' of an
	  HTML page for debugging.  This could probably replace existing
	  code to write out page content, if Jerry agrees.

	  Fixed channel-selection bug with some providers by making the
	  regexp more liberal.

2001-11-14 19:02  jveldhuis

	* ZapListings.pm, getlistings_na: fixed bug - looks like prototypes
	  don't  always work

2001-11-14 12:33  jveldhuis

	* getlistings_na: default --days is now 7 instead of 1

2001-11-14 12:13  jveldhuis

	* ZapListings.pm, getlistings_na: removed support for --startHour
	  and --endHour

2001-11-14 11:32  epaepa

	* README, ZapListings.pm, getlistings_na: New README / release
	  notes for 0.3 release.  Removed Beer-ware, we are now pure GPL
	  (but of course contributors are free to license their code under
	  other terms as well).

2001-11-14 11:31  epaepa

	* mkdist: Updated for move from RCS to CVS: you have to update the
	  ChangeLog manually (probably by running cvs2cl) before running
	  mkdist.

2001-11-14 11:15  epaepa

	* README, getlistings_uk_ananova: Bumped version number to 0.3,
	  reflecting new _na grabber.

2001-11-14 10:59  epaepa

	* getlistings_uk_ananova: Give a friendly(ish) usage message for
	  the --help option.

2001-11-14 08:47  epaepa

	* doc/coding_standards: Added guidelines for commenting
	  subroutines.

2001-11-13 15:46  jveldhuis

	* getlistings_na: removes white space from postal code

2001-11-13 09:53  epaepa

	* ZapListings.pm: Fixed date format (YYYY-MM-DD).

2001-11-13 08:53  epaepa

	* listings_to_latex: Quote characters better for LaTeX output - in
	  particular that broken-vertical-bar character appearing
	  mysteriously in some Spanish listings.

2001-11-12 17:46  jveldhuis

	* README, UK_TZ.pm, XMLTV.pm, ZapListings.pm, channels.dtd,
	  getlistings_na, getlistings_uk_ananova, listings_to_latex,
	  mkdist, pick_cgi, sort_listings, xmltv.dtd, README.channels,
	  filter_shown: removed \$Log entries as per xmltv-devel mailing
	  list discussion

2001-11-12 12:25  jveldhuis

	* getlistings_na: removed unneeded '&Date::Manip::' prefixes to
	  those subroutine calls.  with exception to unexported Date_Split
	  call.

	  fixed when new programs file is initialized.	not supports
	  emitting program 'previously-shown' attr.

2001-11-12 12:23  jveldhuis

	* ZapListings.pm: 'Repeat' in details now comes out as
	  'previously-shown' attr of program fixed some STDERR status
	  messages

2001-11-11 17:30  jveldhuis

	* ChangeLog.old, README, README.channels, UK_TZ.pm, XMLTV.pm,
	  channels.dtd, filter_shown, getlistings_uk_ananova,
	  listings_to_latex, mkdist, pick_cgi, sort_listings, xmltv.dtd,
	  doc/coding_standards: added \$Id \$ as approprate

2001-11-11 17:29  jveldhuis

	* ZapListings.pm: messages go to stderr, both status and debugging.
	   error messages or warnings try and include html that caused
	  failure.

	  acknowledges program detail 'AO' although I don't know what it
	  means exactly. Maybe adults only, but not part of any standard,
	  so we scrape and ignore.

	  how print STDERR message for each station page scraped to get
	  more feed back to user something is happening.

2001-11-11 17:26  jveldhuis

	* getlistings_na: now only writes channels file when approprate so
	  only writes is out every day if you've specified a filename that
	  contains imbedded date information, same as with programs
	  filenames.

	  prints summary statistics about how much and how fast the grabber
	  was

2001-11-11 17:18  jveldhuis

	* getlistings_ca, ClickListings.pm: no longer supported, use _na
	  for ca listings

2001-11-11 13:04  epaepa

	* doc/coding_standards: Added coding standards document, prompted
	  by my edict on the mailing list about the format of CVS log
	  messages.  Of course I will now look really silly if I fail to
	  follow the guidelines I wrote :-).

2001-11-11 12:49  epaepa

	* ZapListings.pm: Fixed a couple of syntax errors (don't know
	  whether I caused them last time).

2001-11-11 12:04  epaepa

	* ClickListings.pm: Changed a lot of 'print STDERR' to 'warn', it
	  makes it clearer what the purpose is.  Debug statements didn't
	  change since they're not actually warnings.

2001-11-11 11:44  epaepa

	* ClickListings.pm, README, README.channels, UK_TZ.pm, XMLTV.pm,
	  ZapListings.pm, channels.dtd, filter_shown, getlistings_ca,
	  getlistings_na, getlistings_uk_ananova, listings_to_latex,
	  mkdist, pick_cgi, sort_listings, xmltv.dtd,
	  analyse_tvprefs/analyse_tvprefs: Whoops, just realized that the
	  last changelog message would itself get keyword-expanded, causing
	  no end of confusion.	I had to perform some emergency censorship
	  of funny dollar signs.

2001-11-11 11:41  epaepa

	* ClickListings.pm, README, README.channels, UK_TZ.pm, XMLTV.pm,
	  ZapListings.pm, channels.dtd, filter_shown, getlistings_ca,
	  getlistings_na, getlistings_uk_ananova, listings_to_latex,
	  mkdist, pick_cgi, sort_listings, xmltv.dtd,
	  analyse_tvprefs/analyse_tvprefs: Rearranged (or added) comments
	  at the start of each file, so the description is near the top and
	  the changelog near the bottom.  Added $Log: $ lines to get an
	  automatically updated changelog from now on; I hope it works.

2001-11-11 10:57  epaepa

	* ChangeLog.old: Added the RCS version history (from rcs2log) to
	  ChangeLog.old.  From now on we will not edit a ChangeLog file,
	  all changes will be logged with CVS commit messages.

	  Still, I said the same thing when I moved to RCS - so perhaps we
	  will be doing this again in a year or so when we abandon CVS for
	  something else :-).

2001-11-11 10:51  epaepa

	* attic/rcs.tar: Adding a tarball of the old RCS repository.  This
	  is just in case we need to dig out version history from before
	  CVS.	I don't expect we shall.

2001-11-11 10:43  epaepa

	* attic/: ChangeLog.old, TVChannels.pm, channels_nl.xml,
	  channeltest.pl, getlistings_na, getlistings_nl,
	  scrapped_getlistings_uk_ananova, second_getlistings_uk_ananova,
	  test_xmltv_module: Adding the attic/ directory to CVS.

	  If we were starting from scratch with CVS I wouldn't do this; you
	  should just 'cvs remove' things that are no longer needed.
	  However we're importing an existing set of files and I just want
	  to make sure that these files are included in the repository.
	  Some of them are still useful; in particular,
	  scrapped_getlistings_uk_ananova has some semi-useful HTML parsing
	  code and second_getlistings_uk_ananova attempts to parse English
	  programme descriptions and generate metadata.  Both of these
	  could be salvaged and made into separate tools.

2001-11-11 10:37  epaepa

	* mkdist: Adding one remaining file from the old working/
	  directory: mkdist.  This is a quick and dirty shell script to
	  make a tarball of the current version.  I haven't tested that it
	  works with CVS working copies, that'll come when I make the next
	  release later today (I hope).

2001-11-11 10:35  epaepa

	* listings_to_latex: Moved prototypes higher up the file, so they
	  are seen by perl before any of the functions are called.  This
	  stops the annoying warnings under newer perls.

2001-11-11 10:34  epaepa

	* getlistings_uk_ananova: Added more prototype declarations to
	  avoid warnings under perl 5.6 (and to make the prototype checking
	  actually work, in fact).

	  Don't warn more than once for channel ids without a valid region
	  (caused by occasional strangeness at Ananova's end).

2001-11-11 10:21  epaepa

	* ChangeLog: Removing ChangeLog file; it was generated
	  automatically from RCS and will not be kept up to date with CVS
	  commits.  I plan to make a ChangeLog.old with announcements from
	  the RCS days and before; then whenever we make a release tarball
	  the ChangeLog file can be generated from the CVS logs.  It is not
	  itself kept in CVS.

2001-11-11 10:18  epaepa

	* towatch.dvi: Removing towatch.dvi, another old personal file from
	  working/.

2001-11-11 10:17  epaepa

	* cgi/: .htaccess, pick.cgi, towatch, tvprefs, tvprefs.old:
	  Removing cgi/ directory: this was just for my personal use and
	  doesn't belong in CVS.

2001-11-09 01:48  jveldhuis

	* ZapListings.pm, getlistings_na: minor adjustments

2001-11-09 01:25  jveldhuis

	* ZapListings.pm, getlistings_na:
	  Heres the beta version of the grabber for zap2it.com I went with
	  a slightly different approach to how to set things up.

	  There is a '--configure' command line arg that walks you through
	  the required sets for setting it up.

	  It will prompt you for a postal/zip code, let you choose from the
	  list of service providers in your area, then let you choose what
	  channels you want.  All of of the info collected during
	  --configure is saved in a config file (./.config_na by default)
	  and is used to when grabbing listings. All of this gets us around
	  the registration normally required by the site. The integration
	  is probably easily broken, so keep me posted on what you get for
	  errors.

	  You should read the 'known bugs' list in the top of the
	  getlistings_na file.

	  Please, please criticize to developers mailings list.

	  Otherwise, happy hunting.

2001-11-09 01:18  jveldhuis

	* ClickListings.pm: hacked to work with tvguide.ca instead of
	  clicktv.com

2001-11-09 01:18  jveldhuis

	* getlistings_ca: updated to work with tvguide.ca

2001-11-02 13:35  jveldhuis

	* todo/sat1.tar.bz2, todo/TVChannels_module/README,
	  todo/TVChannels_module/channels.dtd,
	  todo/TVChannels_module/channels.xml,
	  todo/TVChannels_module/channeltest.pl,
	  todo/TVChannels_module/uk_channels.xml,
	  todo/TVChannels_module/xmltv/TVChannels.pm, TVChannels.pm,
	  channels_nl.xml, channels_uk.xml, channeltest.pl, doc.html,
	  getlistings_nl, getlistings_pa, pick_process,
	  scrapped_getlistings_uk_ananova, test_memoize, test_xmltv_module,
	  tvprefs, tz.pl, uk_tz.pl, leon/GuideParser-0.11.tar.bz2,
	  leon/GuideParser-0.11.tar.gz: no longer included sometime
	  previous to 0.2.10

2001-11-02 13:28  jveldhuis

	* ChangeLog, ClickListings.pm, README, XMLTV.pm, channels.dtd,
	  getlistings_na, getlistings_uk_ananova, sort_listings,
	  towatch.dvi, xmltv.dtd, analyse_tvprefs/bnc_freq.txt,
	  todo/TASKS.epa: xmltv-0.2.10

2001-11-02 13:25  jveldhuis

	* ChangeLog, ClickListings.pm, README, README.channels, XMLTV.pm,
	  channels.dtd, getlistings_na, getlistings_uk_ananova,
	  listings_to_latex, xmltv.dtd, analyse_tvprefs/analyse_tvprefs:
	  xmltv-0.2.9

2001-11-02 13:24  jveldhuis

	* ChangeLog, ClickListings.pm, README, UK_TZ.pm, XMLTV.pm,
	  getlistings_na, getlistings_uk_ananova, listings_to_latex,
	  pick_cgi, scrapped_getlistings_uk_ananova, test_memoize,
	  test_xmltv_module, xmltv.dtd, leon/GuideParser-0.11.tar.bz2,
	  todo/TASKS.epa: xmltv-0.2.8

2001-11-02 13:22  jveldhuis

	* ChangeLog, README, getlistings_uk_ananova, pick_cgi: xmltv-0.2.7

2001-11-02 13:21  jveldhuis

	* ChangeLog, README, listings_to_latex, uk_tz.pl, cgi/towatch,
	  cgi/tvprefs.old: xmltv-0.2.6

2001-11-02 13:20  jveldhuis

	* ChangeLog, README, README.channels, TVChannels.pm, channels.dtd,
	  channels_nl.xml, channels_uk.xml, channeltest.pl, getlistings_nl,
	  getlistings_uk_ananova, listings_to_latex, pick_cgi, tvprefs,
	  uk_tz.pl, cgi/pick.cgi, cgi/towatch, cgi/tvprefs,
	  cgi/tvprefs.old, leon/GuideParser-0.11.tar.gz, todo/TASKS.epa,
	  todo/sat1.tar.bz2, cgi/.htaccess: xmltv-0.2.5

2001-11-02 13:15  jveldhuis

	* ChangeLog, README, doc.html, getlistings_ca, getlistings_nl,
	  getlistings_uk_ananova, listings_to_latex, pick_cgi,
	  sort_listings, uk_tz.pl: xmltv-0.2.4

2001-11-02 13:14  jveldhuis

	* ChangeLog, README, doc.html, pick_cgi: xmltv-0.2.3

2001-11-02 13:14  jveldhuis

	* ChangeLog, README, doc.html, getlistings_uk_ananova, uk_tz.pl:
	  xmltv-0.2.2

2001-11-02 13:13  jveldhuis

	* ChangeLog, ChangeLog.old, README, doc.html, filter_shown,
	  getlistings_ca, getlistings_nl, getlistings_uk_ananova,
	  listings_to_latex, pick_cgi, sort_listings, xmltv.dtd,
	  todo/TVChannels_module/README,
	  todo/TVChannels_module/channels.dtd,
	  todo/TVChannels_module/channels.xml,
	  todo/TVChannels_module/channeltest.pl,
	  todo/TVChannels_module/uk_channels.xml,
	  todo/TVChannels_module/xmltv/TVChannels.pm: xmltv-0.2.1

2001-11-02 13:09  jveldhuis

	* ChangeLog, README, doc.html, filter_shown, getlistings_ca,
	  getlistings_nl, getlistings_uk_ananova, listings_to_latex,
	  pick_cgi, sort_listings, uk_tz.pl, xmltv.dtd, todo/TASKS.epa:
	  xmltv-0.2.0

2001-11-02 13:07  jveldhuis

	* ChangeLog, README, filter_shown, getlistings_pa,
	  listings_to_latex, pick_cgi, tz.pl, xmltv.dtd: xmltv-0.1.1

2001-11-02 12:58  jveldhuis

	* COPYING, ChangeLog, README, filter_shown, getlistings_pa,
	  listings_to_latex, pick_cgi, pick_process, xmltv.dtd: initial
	  revision

