yahoo.search.parser (version 1.4, Wed Oct 26 11:24:50 PDT 2005) | index /home/leif/hack/pysearch/yahoo/search/parser.py

`Base class for search results parsing
This package implements the interface and base class that should be
used for all parsers of the web results. It is used by the DOM parsers
that we provide as defaults.`

Classes

``

__builtin__.dict(__builtin__.object)
  ResultDict
__builtin__.object
  ResultParser
exceptions.Exception
  Error
    ClassError
    XMLError

class ClassError(Error)
`` | `This can only occur if the APIs aren't installed or configured properly. If it happens, please contact the author.`

Method resolution order:
  ClassError
  Error
  exceptions.Exception

Methods inherited from exceptions.Exception:

__getitem__(...)

__init__(...)

__str__(...)

class Error(exceptions.Exception)
`` | `Base class for all Yahoo DOM Parser exceptions.`

Methods inherited from exceptions.Exception:

__getitem__(...)

__init__(...)

__str__(...)

class ResultDict(__builtin__.dict)
`` | `ResultDict - Simple class to wrap the results`

Method resolution order:
  ResultDict
  __builtin__.dict
  __builtin__.object

Methods defined here:

__getattr__(self, key)

Data and other attributes defined here:

__dict__ = <dictproxy object>
  `dictionary for instance variables (if defined)`

__weakref__ = <attribute '__weakref__' of 'ResultDict' objects>
  `list of weak references to the object (if defined)`

Methods inherited from __builtin__.dict:

__cmp__(...)
  `x.__cmp__(y) <==> cmp(x,y)`

__contains__(...)
  `D.__contains__(k) -> True if D has a key k, else False`

__delitem__(...)
  `x.__delitem__(y) <==> del x[y]`

__eq__(...)
  `x.__eq__(y) <==> x==y`

__ge__(...)
  `x.__ge__(y) <==> x>=y`

__getattribute__(...)
  `x.__getattribute__('name') <==> x.name`

__getitem__(...)
  `x.__getitem__(y) <==> x[y]`

__gt__(...)
  `x.__gt__(y) <==> x>y`

__hash__(...)
  `x.__hash__() <==> hash(x)`

__init__(...)
  `x.__init__(...) initializes x; see x.__class__.__doc__ for signature`

__iter__(...)
  `x.__iter__() <==> iter(x)`

__le__(...)
  `x.__le__(y) <==> x<=y`

__len__(...)
  `x.__len__() <==> len(x)`

__lt__(...)
  `x.__lt__(y) <==> x<y`

__ne__(...)
  `x.__ne__(y) <==> x!=y`

__repr__(...)
  `x.__repr__() <==> repr(x)`

__setitem__(...)
  `x.__setitem__(i, y) <==> x[i]=y`

clear(...)
  `D.clear() -> None. Remove all items from D.`

copy(...)
  `D.copy() -> a shallow copy of D`

get(...)
  `D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.`

has_key(...)
  `D.has_key(k) -> True if D has a key k, else False`

items(...)
  `D.items() -> list of D's (key, value) pairs, as 2-tuples`

iteritems(...)
  `D.iteritems() -> an iterator over the (key, value) items of D`

iterkeys(...)
  `D.iterkeys() -> an iterator over the keys of D`

itervalues(...)
  `D.itervalues() -> an iterator over the values of D`

keys(...)
  `D.keys() -> list of D's keys`

pop(...)
  `D.pop(k[,d]) -> v, remove specified key and return the corresponding value
  If key is not found, d is returned if given, otherwise KeyError is raised`

popitem(...)
  `D.popitem() -> (k, v), remove and return some (key, value) pair as a
  2-tuple; but raise KeyError if D is empty`

setdefault(...)
  `D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D`

update(...)
  `D.update(E, **F) -> None. Update D from E and F: for k in E: D[k] = E[k]
  (if E has keys else: for (k, v) in E: D[k] = v) then: for k in F: D[k] = F[k]`

values(...)
  `D.values() -> list of D's values`

Data and other attributes inherited from __builtin__.dict:

__new__ = <built-in method __new__ of type object>
  `T.__new__(S, ...) -> a new object with type S, a subtype of T`

fromkeys = <built-in method fromkeys of type object>
  `dict.fromkeys(S[,v]) -> New dict with keys from S and values equal to v.
  v defaults to None.`

class ResultParser(__builtin__.object)

``

`Yahoo Search Web Service Results - base class
This is the base class for all Yahoo Search Web Service result parsers.
If you build your own result parser (e.g. non-DOM based), please sub-
class ResultParser. The following attributes are always available:
total_results_available
total_results_returned
first_result_position
results
Results are a list of dictionaries, which can be a custom class as
required. An interator generator is provided for easy access to the
list of results. For example, to iterate over all results, you would do
something like:
dom = ws.get_results()
results = ws.parse_results(dom)
dom.unlink()
for res in results:
print res['Url']
print res.Summary
As you can see, each result is a customizable dictionary. The default
results dict supports accessing each key as a "property", like the
above example (res.Summary).
You can also get the list of results directly, using the results
attribute. An optional res_dict argument can be used to provide an
alternative dictionary implementation to use for the results.
`

Methods defined here:

__init__(self, service, res_dict=<class 'yahoo.search.parser.ResultDict'>)

__iter__(self)

parse_results(self, result_set)
  `Parse the results.`

Properties defined here:

firstResultPosition
  `The first result position`
  get = _get_first_result_position(self)
    `Get the first result position.`

first_result_position
  `The first result position`
  get = _get_first_result_position(self)
    `Get the first result position.`

results
  `The list of all results`
  get = _get_results(self)
    `Get the results.`

service
  `The Search Web Service object for this results parser`
  get = _get_service(self)
    `Get the service for this DOM parser.`
  set = _set_service(self, service)
    `Set the service for this DOM parser.`

totalResultsAvailable
  `Total number of results for the query`
  get = _get_total_results_available(self)
    `Get the total number of results for the query.`

totalResultsReturned
  `The number of results returned`
  get = _get_total_results_returned(self)
    `Get the number of results returned.`

total_results_available
  `Total number of results for the query`
  get = _get_total_results_available(self)
    `Get the total number of results for the query.`

total_results_returned
  `The number of results returned`
  get = _get_total_results_returned(self)
    `Get the number of results returned.`

Data and other attributes defined here:

__dict__ = <dictproxy object>
  `dictionary for instance variables (if defined)`

__weakref__ = <attribute '__weakref__' of 'ResultParser' objects>
  `list of weak references to the object (if defined)`

class XMLError(Error)
`` | `This exception can occur if, and only if, Yahoo returns malformed XML results.`

Method resolution order:
  XMLError
  Error
  exceptions.Exception

Methods inherited from exceptions.Exception:

__getitem__(...)

__init__(...)

__str__(...)

Functions

``

string_to_bool(string)
  `Convert a string to a boolean value`

Data
`` |  | __author__ = 'Leif Hedstrom <leif@ogre.com>' __date__ = 'Wed Oct 26 11:24:50 PDT 2005' __revision__ = '$Id: parser.py,v 1.4 2005/10/26 20:32:27 zwoop Exp $' __version__ = '$Revision: 1.4 $'

Author
`` |  | Leif Hedstrom <leif@ogre.com>