2007-02-27  Leif Hedstrom  <leif@ogre.com>

	* site.py (UpdateNotification): New class, to send URLs for indexing.

	* myweb.py: Support for output and callback.

	* local.py: Updated with all V3 features, and support for output and
	callback.

2007-02-25  Leif Hedstrom  <leif@thor.ogre.com>

	* image.py: Support output and callback.

	* term.py: Support output and callback.

	* local.py: Fixed the server and version, updated for V3.

	* audio.py: All search classes now support output and callback
	parameters.
	* audio.py: Cleanup the documentation a bit.

	* __init__.py: New server for Yahoo Search APIs, search.yahooapis.com.

	* __init__.py (_Search): Make it implicitly inherit from "object", to
	make pylint happier.

2006-10-12  Leif Hedstrom  <leif@ogre.com>

	* site.py (InlinkData): Added new parameter, omit_inlinks, as well as
	support for output and callback.
	(PageData): Added support for output and callback.

	* video.py (VideoSearch): Added support for output and callback.

	* __init__.py (_Search.__init__): Added output and callback to the
	default valid_params. Also save the default XML parser.
	(_Search.__setattr__): Add a special case for "output", since we need
	to change the xml_parser for JSON and PHP.

	* web.py (WebSearch): Support for output and callback. Added XLS as a
	supported format.
	(ContextSearch): Dito.
	(RelatedSuggestion): Support for output and callback.
	(SpellingSuggestion: Dito.

	* __init__.py (_Search.get_results): Added support for returning raw
	XML (or JSON or PHP). This was both buggy and unfinished.
	(_Search.open): Added a feature to allow us to retry certain HTTP
	failures. This seems to help intermittent Yahoo problems.

2006-08-21  Leif Hedstrom  <leif@ogre.com>

	* term.py (TermExtraction): Make query parameter optional for TermExtraction.

2005-12-06  Leif Hedstrom  <leif@ogre.com>

	* __init__.py (REGIONS): Added the regions mappings, for new region option.

2005-11-13  Leif Hedstrom  <leif@ogre.com>

	* Lots of doc changes, fixed example bugs, modified all examples to use
	YahooDemo as appid.

2005-10-27  Leif Hedstrom  <leif@ogre.com>

	* __init__.py: Removed the require_oneof_param attribute.

	* Release v2.0 (CVS tag: release_2_0)

	* site.py: New module, implementing site explorer APIs.

	* audio.py (SongDownloadLocation): Added support for
	SongDownloadLocation.

2005-10-26  Leif Hedstrom  <leif@ogre.com>

	* audio.py (AlbumSearch): Added support for AlbumSearch.
	(SongSearch): Added support for SongSearch.
	(PodcastSearch): Added support for PodcastSearch.

	* __init__.py (_Search): Implement a "require_oneof_params" list, which
	lets us assure that at least one of a list of parameters are provided.

	* factory.py: Added support for ArtistSearch.

2005-10-25  Leif Hedstrom  <leif@ogre.com>

	* audio.py (ArtistSearch): New Audio search class, to search for
	artists.

2005-10-18  Leif Hedstrom  <leif@ogre.com>

	* myweb.py (RelatedTags): New MyWeb2 class.

2005-10-17  Leif Hedstrom  <leif@ogre.com>

	* myweb.py (UrlSearch): New MyWeb2 class, search for URLs by tag.
	(TagSearch): Dito.

2005-10-15  Leif Hedstrom  <leif@ogre.com>

	* local.py: Refactored.

	* image.py: Refactored.

	* web.py): Added support for the site parameters.
	(ContextSearch): Added missing parameters.

	* news.py: Added support for the site parameters.

2005-06-30  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (ListUrls): Added sort and sort_order parameters.

2005-06-22  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (ContextSearch): Cleanup of valid parameters supported
	for ContextSearch.

2005-06-21  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (WebSearch): Added support for the subscription
	parameter.

2005-04-30  Leif Hedstrom  <leif@ogre.com>

	* domparsers.py: Cleaned up a lot of code to make pychecker and pylint
	happier.

	* webservices.py: Cleaned up a lot of code, to make pychecker and
	pylint happier.
	Removed all the stupid "Params" classes, no more ugly multiple-
	inheritance.
	Move all the Unit tests to it's own test module.

2005-04-29  Leif Hedstrom  <leif@ogre.com>

	* webservices.py: Added missing documentation, doh!
	Documented how to use alternative DOM parsers, and an HTTP proxy.
	(_Search.open): Bug fix: We did not properly support the URL opener as
	set in the CTOR or by the installer method.
	(_Search.missing_params): New method to validate that all required parameters
	are properly set.
	(_Search._init_valid_params): Documented the syntax, and added another
	item to indicate if a parameter is required or not.
	(_Search.set_param): Properly support the specific help text for
	parameters that define such a string.

2005-04-28  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (ListFolders): New class for List Folders.
	(ListUrls): New class for List Urls.
	Added Unit tests for these two new classes.
	Released v1.3.

	* domparsers.py (ListFolders): New class to support the List Folders
	service.
	(ListUrls): New class to support the List Urls service.

	* webservices.py: Removed all service specific attributes.
	(_Search.__setattr__): Implement all the parameter checking
	etc. through the valid_params here. This also solves the problem where
	you could accidentally set an invalid parameter for a particular
	search object.
	(_Search.__getattr__): Get the parameters properly.

2005-04-27  Leif Hedstrom  <leif@ogre.com>

	* webservices.py: Minor cleanups.

2005-03-31  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (TermExtraction): New search feature.
	Release 1.2.

2005-03-29  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (_Search.get_results): Added debug output for pretty
	printed XML.
	Fixed some of the Unit tests to be more robusts.

	* debug.py (Debuggable.debug_msg): Try to handle Unicode strings.

2005-03-24  Leif Hedstrom  <leif@ogre.com>

	* webservices.py: Changed the defaults from "all" to "any".
	(WebSearch._set_license): New property, for CC license filter.
	(CC_LICENSES): New constant, holding valid CC license strings.
	(WebSearch): Added support for CC license.
	(_Search.set_param): Added support for parameters of list values.
	(_BasicParams._init_valid_params): Added range check on start
	(ContextSearch): New class, based on WebSearch, to do contextual web
	searches.
	(_Search.get_url): Make parameter encoding separate and optional.
	(_Search.encode_params): Separated out from get_url().

2005-03-14  Leif Hedstrom  <leif@ogre.com>

	* webservices.py: Basic Unit test framework.

	* debug.py (Debuggable._debug_msg): Changed the message to look more
	debugging like ...

	* webservices.py (LANGUAGES): Turned it in to a dictionary, holding the
	name of the language as well as the ISO code.
	(COUNTRIES): New dictionary, for countery parameter (in web search)
	(WebSearch._init_valid_params): Added support for the new country
	parameter.

2005-03-11  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (_Search.set_param): Support verifying parameter
	values using a lambda expression as well as tuples/lists.
	(LocalSearch._init_valid_params): Added support for the sort
	parameter.

2005-03-09  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (LocalSearch._init_valid_params): Added support for
	longitude and latitude.

2005-02-18  Leif Hedstrom  <leif@ogre.com>

	* domparsers.py (AudioSearch): Cleaned up Duration parsing.
	(VideoSearch): Ditto.
	(AudioSearch._init_res_fields): Fixed Channels to be decimal.
	(VideoSearch._init_res_fields): Ditto.
	(LocalSearch.parse_results): Added support for ResultSetMapUrl.

	* webservices.py (LANGUAGES): Changed to be public.
	(ERROR): Changed to be public.
	(_Search.__init__): Changed the documentation for app_id.
	(_Search._init_valid_params): Made a pure virtual function, to avoid
	class errors.
	(_Search._set_app_id): Changed to use the module global for the regex.
	(APPID_REGEX): Moved the regex out to be a module global, to possibly
	allow for it to be modified (to be more strict for instance).
	(_Search.set_param): Added check for None values (not allowed)
	(_Search.set_param): The error message on invalid value used wrong
	pinfo.
	(_Search.open): Slightly better error handling.
	(all search classes): Changed the inheritance order to prioritize the
	parameters base class(es).
	(_CommonParams._set_format): Fixed, used the wrong setters/getters.

	* domparsers.py (string_to_bool): Changed parameter name from 'str' to
	'string', to avoid unecessary overloading warnings.
	(SearchParser.parse_results): Bug fix, use self._service.svc_name to
	get to the service name.

2005-02-16  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (_Search._set_app_id): Check the app_id against a
	regex.

2005-02-15  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (_Search._set_app_id): Added support for the new
	Application ID parameter (required).

2005-02-09  Leif Hedstrom  <leif@ogre.com>

	* webservices.py: Fixed all the range() to include the max number as
	well.

	* domparsers.py (SearchParser): Fixed all the getters for results
	counters.

	* webservices.py (NewsSearch._init_valid_params): Fixed the sort
	argument to use "rank" or "date".

2005-02-08  Leif Hedstrom  <leif@ogre.com>

	* domparsers.py (LocalSearch._parse_result): Fixed "unit".

2005-02-02  Leif Hedstrom  <leif@ogre.com>

	* webservices.py (AudioSearch._init_valid_params): Removed "streamed".

	* domparsers.py (SearchDOMParser._tags_to_dict): Changed format, to
	provide both a "normalizer" and a default value. We'll raise an
	exception here on missing XML data.
