2007-02-27 Leif Hedstrom * 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 * 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 * 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 * term.py (TermExtraction): Make query parameter optional for TermExtraction. 2005-12-06 Leif Hedstrom * __init__.py (REGIONS): Added the regions mappings, for new region option. 2005-11-13 Leif Hedstrom * Lots of doc changes, fixed example bugs, modified all examples to use YahooDemo as appid. 2005-10-27 Leif Hedstrom * __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 * 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 * audio.py (ArtistSearch): New Audio search class, to search for artists. 2005-10-18 Leif Hedstrom * myweb.py (RelatedTags): New MyWeb2 class. 2005-10-17 Leif Hedstrom * myweb.py (UrlSearch): New MyWeb2 class, search for URLs by tag. (TagSearch): Dito. 2005-10-15 Leif Hedstrom * 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 * webservices.py (ListUrls): Added sort and sort_order parameters. 2005-06-22 Leif Hedstrom * webservices.py (ContextSearch): Cleanup of valid parameters supported for ContextSearch. 2005-06-21 Leif Hedstrom * webservices.py (WebSearch): Added support for the subscription parameter. 2005-04-30 Leif Hedstrom * 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 * 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 * 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 * webservices.py: Minor cleanups. 2005-03-31 Leif Hedstrom * webservices.py (TermExtraction): New search feature. Release 1.2. 2005-03-29 Leif Hedstrom * 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 * 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 * 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 * 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 * webservices.py (LocalSearch._init_valid_params): Added support for longitude and latitude. 2005-02-18 Leif Hedstrom * 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 * webservices.py (_Search._set_app_id): Check the app_id against a regex. 2005-02-15 Leif Hedstrom * webservices.py (_Search._set_app_id): Added support for the new Application ID parameter (required). 2005-02-09 Leif Hedstrom * 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 * domparsers.py (LocalSearch._parse_result): Fixed "unit". 2005-02-02 Leif Hedstrom * 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.