* Added robots.txt observance, controlled by
* BASE element has attribute 'href', not 'uri'! (patch from Jochen
Knuth)
* Fixed several bugs in handling of Referer header.
* Link.__eq__ now returns False instead of raising AttributeError
on comparison with non-Link (patch from Jim Jewett)
* Removed dependencies on HTTPS support in Python and on
ClientCookie.HTTPRobotRulesProcessor
2004-01-18 John J Lee <jjlpobox.com>
* Added robots.txt observance, controlled by
UserAgent.set_handle_robots(). This is now on by default.
* Removed set_persistent_headers() method -- just use .addheaders,
as in base class.
2004-01-09 John J Lee <jjlpobox.com>
* Removed unnecessary dependence on SSL support in Python. Thanks
to Krzysztof Kowalczyk for bug report.
* Released 0.0.7a.
2004-01-06 John J Lee <jjlpobox.com>
* Link instances may now be passed to .click_link() and
.follow_link().
* Added a new example program, pypi.py.
2004-01-05 John J Lee <jjlpobox.com>
* Released 0.0.5a.
* If <title> tag was missing, links and forms would not be parsed.
Also, base element (giving base URI) was ignored. Now parse
title lazily, and get base URI while parsing links. Also, fixed
ClientForm to take note of base element. Thanks to Phillip J.
Eby for bug report.
* Released 0.0.6a.
2004-01-04 John J Lee <jjlpobox.com>
* Fixed _useragent._replace_handler() to update self.handlers
correctly.
* Updated required pullparser version check.
* Visiting a URL now deselects form (sets self.form to None).
* Only first Content-Type header is now checked by
._viewing_html(), if there are more than one.
* Stopped using getheaders from ClientCookie -- don't need it,
since depend on Python 2.2, which has .getheaders() method on
responses. Improved comments.
* .open() now resets .response to None. Also rearranged .open() a
bit so instance remains in consistent state on failure.
* .geturl() now checks for non-None .response, and raises Browser.
* .back() now checks for non-None .response, and doesn't attempt
to parse if it's None.
* .reload() no longer adds new history item.
* Documented tag argument to .find_link().
* Fixed a few places where non-keyword arguments for .find_link()
were silently ignored. Now raises ValueError.
2004-01-02 John J Lee <jjlpobox.com>
* Use response_seek_wrapper instead of seek_wrapper, which broke
use of reponses after they're closed.
* (Fixed response_seek_wrapper in ClientCookie.)
* Fixed adding of Referer header. Thanks to Per Cederqvist for
bug report.
* Released 0.0.4a.
* Updated required ClientCookie version check.
2003-12-30 John J Lee <jjlpobox.com>
* Added support for character encodings (for matching link text).
* Released 0.0.3a.
2003-12-28 John J Lee <jjlpobox.com>
* Attribute lookups are no longer forwarded to .response --
you have to do it explicitly.
* Added .geturl() method, which just delegates to .response.
* Big rehash of UserAgent, which was broken. Added a test.
* Discovered that zip() doesn't raise an exception when its
arguments are of different length, so several tests could pass
when they should have failed. Fixed.
* Fixed <A/> case in ._parse_html().
* Released 0.0.2a.
2003-12-27 John J Lee <jjlpobox.com>
* Added and improved docstrings.
* Browser.form is now a public attribute. Also documented
Browser's public attributes.
* Added base_url and absolute_url attributes to Link.
* Tidied up .open(). Relative URL Request objects are no longer
converted to absolute URLs -- they should probably be absolute
in the first place anyway.
* Added proper Referer handling (the handler in ClientCookie is a
hack that only covers a restricted case).
* Added click_link method, for symmetry with .click() / .submit()
methods (which latter apply to forms). Of these methods,
.click/.click_link() returns a request, and .submit/
.follow_link() actually .open()s the request.
* Updated broken example code.
2003-12-24 John J Lee <jjlpobox.com>
* Modified setup.py so can easily register with PyPI.
2003-12-22 John J Lee <jjlpobox.com>
* Released 0.0.1a.