Python: module yahoo.search.local

Python: module yahoo.search.local

 
 yahoo.search.local (version 1.4, Tue Feb 27 17:04:24 MST 2007)index/home/leif/hack/pysearch.git/yahoo/search/local.py
yahoo.search.local - Local Search services module
 
This module implements the the Local Search web service, to do search
queries on various local formats. There is currently only one class
implemented, LocalSearch.
 
An application ID (appid) is always required when instantiating a search
object. Additional parameters are documented in the LocalSearch class.
 
Example:
 
    from yahoo.search.local import LocalSearch
 
    srch = LocalSearch(app_id="YahooDemo", zip="94019", query="BevMo")
    srch.results = 1
 
    for res in srch.parse_results():
       print res.MapUrl

 
Modules

       
types
yahoo

 
Classes

       

yahoo.search._BasicSearch(yahoo.search._Search)
LocalSearch

 
class LocalSearch(yahoo.search._BasicSearch)

   
LocalSearch - perform a Yahoo Local Search
 
This class implements the Local Search web service APIs. Allowed
parameters are:
 
    query         - The query to search for. Using a query of "*"
                    returns all values that match other criteria in the
                    search (category, radius, and so on).
    listing_id    - The id associated with a specific business listing.
                    It corresponds with the id attribute of Result
                    entities. At least one of query or listing id must
                    be specified.
    results       - The number of results to return (1-20).
    start         - The starting result position to return (1-based).
                    The finishing position (start + results - 1) cannot
                    exceed 1000.
    sort          - Sorts the results by the chosen criteria.
    radius        - How far from the specified location to search for
                    the query terms.
    street        - Street name. The number is optional.
    city          - City name.
    state         - The United States state. You can spell out the
                    full state name or you can use the two-letter
                    abbreviation.
    zip           - The five-digit zip code, or the five-digit code
                    plus four-digit extension.
    location      - Free form field for location (see below).
    latitude      - Latitude of the starting location (-90.0 - 90.0).
    longitude     - Longitude of the starting location (-180.0 - 180.0).
    category      - The id of a category to search in. This id
                    corresponds to the id attribute of the Category
                    entity. If you specify multiple categories, results
                    are taken from entries that appear in all of the
                    specified categories.
    omit_category  - The id of a category to omit results from. Multiple
                     categories may be omitted, and a result will not be
                     returned if it appears in any of the specified
                     categories.
    minimum_rating - The minimum average rating (on a five point scale)
                     for a result. If this is specified, no results
                     without ratings will be returned.
    output         - The format for the output result. If json or php is
                     requested, the result is not XML parseable, so we
                     will simply return the "raw" string.
    callback       - The name of the callback function to wrap around
                     the JSON data.
 
 
If both latitude and longitude are specified, they will take priority
over all other location data. If only one of latitude or longitude is
specified, both will be ignored.
 
The sort parameter is one of
 
    relevance
    title
    distance
    rating
 
The free text of the location parameter can hold any of
 
    * city, state
    * city,state, zip
    * zip
    * street, city, state
    * street, city, state, zip
    * street, zip
 
If location is specified, it will take priority over the individual
fields in determining the location for the query. City, state and zip
will be ignored.
                    
 
Full documentation for this service is available at:
 
    http://developer.yahoo.net/search/local/V3/localSearch.html 
 

Method resolution order:
LocalSearch
yahoo.search._BasicSearch
yahoo.search._Search
yahoo.search.debug.Debuggable
__builtin__.object

Data and other attributes defined here:

NAME = 'localSearch'
SERVER = 'local.yahooapis.com'
SERVICE = 'LocalSearchService'
VERSION = 'V3'

Methods inherited from yahoo.search._Search:

__getattr__(self, name)
__init__(self, app_id, opener=None, xml_parser=None, result_factory=None, debug_level=0, **args)
The app_id is a required argument, the Yahoo search services will
not accept requests without a proper app_id. A valid app_id is a
combination of 8 - 40 characters, matching the regexp
 
    "^[a-zA-Z0-9 _()\[\]*+\-=,.:\\@]{8,40}$"
 
Please visit http://developer.yahoo.net/search/ to request an App ID
for your own software or application.
    
Four optional arguments can also be passed to the constructor:
 
    opener         - Opener for urllib2
    xml_parser     - Function to parse XML (default: minidom)
    result_factory - Result factory class (default: none)
    debug_devel    - Debug level (if any)
 
All other "named" arguments are passed into as a dictionary to the
set_params() method.
 
The result factory is specific to the particular web service used,
e.g. the different Yahoo Search services will each implement their
own factory class.
 
Both of these settings can be controlled via their respective
install method (see below).
__setattr__(self, name, value)
# Implement the attribute handlers, to avoid confusion
encode_params(self)
URL encode the list of parameter values.
get_param(self, param)
Get the value of a query parameter, or the default value if unset
get_results(self, stream=None, xml_parser=None, close=True)
Read the stream (if provided) and either return the raw XML, or
send the data to the provided XML parser for further processing.
If no stream is provided, it will call the open() method using the
default opener. The stream will be closed upon return from this
method, unless the close=False is passed as an argument.
get_url(self, with_params=True)
Return the URL for this request object
get_valid_params(self)
Return a list of all valid parameters for this search
install_opener(self, opener)
Install a URL opener (for use with urllib2), overriding the
default opener. This is rarely required.
install_result_factory(self, result_factory)
Install a python class (not an instance!) that should be used as a
factory for creating result(s) objects.
install_xml_parser(self, xml_parser)
Install an XML parser that will be used for all results for this
object. The parser is expected to "read" the data from the supplied
stream argument. To uninstall the parser (e.g. to make sure we
return raw XML data) simply call this method with an argument of
None.
missing_params(self)
Validate that the search object is propertly setup with all
required parameters etc. This is called automatically before a
search is actually performed, but you can also call it manually
if desired. It will return a list of zero or more paramters that
are missing.
open(self, opener=None, retries=2)
Open a connection to the webservice server, and request the URL.
The return value is a "stream", which can be read calling the
read(), readline() or readlines() methods. If you override this
method, please make sure to call the missing_params() method before
you try to send a request to the Web server.
parse_results(self, xml=None)
Get the result from the request, and instantiate the appropriate
result class. This class will be populated with all the data from
the XML object.
reset(self)
Reset all the parameter values for the object instance.
set_param(self, param, value)
Set the value of a query parameter
set_params(self, args)
Set one or several query parameters from a dictionary

Data descriptors inherited from yahoo.search._Search:

app_id
Application ID (issued by Yahoo), same ass appid
appid
Application ID (issued by Yahoo)
cc_licenses
List of all supported Creative Commons licenses
countries
List of all supported county codes
debug_level
Set and modify the debug level
languages
List of all supported languages
regions
List of all supported region codes
subscriptions
List of all supported premium subscriptions
svc_name
Descriptive name of the service
svc_protocol
Service protocol (e.g. HTTP)
svc_server
Service server name or IP
svc_service
Service path
svc_version
Service version string

Data and other attributes inherited from yahoo.search._Search:

METHOD = 'GET'
PROTOCOL = 'http'

Data descriptors inherited from yahoo.search.debug.Debuggable:

__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

 
Data

       
__author__ = 'Leif Hedstrom <leif@ogre.com>'
__date__ = 'Tue Feb 27 17:04:24 MST 2007'
__revision__ = '$Id: local.py,v 1.4 2007-02-28 05:20:09 zwoop Exp $'
__version__ = '$Revision: 1.4 $'

 
Author

       
Leif Hedstrom <leif@ogre.com>

retrieved