Commit graph

5 commits

Author SHA1 Message Date
adam
37375134da py-MechanicalSoup: updated to 0.11.0
Version 0.11

This release focuses on fixing bugs related to uncommon HTTP/HTML
scenarios and on improving the documentation.

Bug fixes

* Constructing a :class:~mechanicalsoup.Form instance from a
  bs4.element.Tag whose tag name is not form will now emit a warning,
  and may be deprecated in the future.

* **Breaking Change:** :class:~mechanicalsoup.LinkNotFoundError now derives
  from Exception instead of BaseException. While this will bring the
  behavior in line with most people's expectations, it may affect the behavior
  of your code if you were heavily relying on this implementation detail in
  your exception handling.

* Improve handling of button submit elements. Will now correctly ignore
  buttons of type button and reset during form submission, since they
  are not considered to be submit elements.

* Do a better job of inferring the content type of a response if the
  Content-Type header is not provided.

* Improve consistency of query string construction between MechanicalSoup
  and web browsers in edge cases where form elements have duplicate name
  attributes. This prevents errors in valid use cases, and also makes
  MechanicalSoup more tolerant of invalid HTML.
2018-12-03 19:59:32 +00:00
adam
bc78225144 py-MechanicalSoup: updated to 0.10.0
Version 0.10

Main changes:
Added StatefulBrowser.refresh() to reload the current page with the same request.
StatefulBrowser.follow_link, StatefulBrowser.submit_selected() and the new StatefulBrowser.download_link now sets the Referer: HTTP header to the page from which the link is followed.
Added method StatefulBrowser.download_link, which will download the contents of a link to a file without changing the state of the browser.
The selector argument of Browser.select_form can now be a bs4.element.Tag in addition to a CSS selector.
Browser.submit and StatefulBrowser.submit_selected accept a larger number of keyword arguments. Arguments are forwarded to requests.Session.request.

Internal changes:
StatefulBrowser.choose_submit will now ignore input elements that are missing a name-attribute instead of raising a KeyError.
Private methods Browser._build_request and Browser._prepare_request have been replaced by a single method Browser._request.
2018-08-02 15:39:31 +00:00
adam
2a19733c8a py-MechanicalSoup: update to 0.8.0
Version 0.8

Main changes:
* `Browser` and `StatefulBrowser` can now be configured to raise a
  `LinkNotFound` exception when encountering a 404 Not Found error.
  This is activated by passing `raise_on_404=True` to the constructor.
  It is disabled by default for backward compatibility, but is highly
  recommanded.
* `Browser` now has a `__del__` method that closes the current session
  when the object is deleted.
* A `Link` object can now be passed to `follow_link`.
* The user agent can now be customized. The default includes
  `MechanicalSoup` and its version.
* There is now a direct interface to the cookiejar in `*Browser`
  classes (`(set|get)_cookiejar` methods).
* This is the last MechanicalSoup version supporting Python 2.6 and
  3.3.

Bug fixes:
* We used to crash on forms without action="..." fields.
* The `choose_submit` method has been fixed, and the `btnName`
  argument of `StatefulBrowser.submit_selected` is now a shortcut for
  using `choose_submit`.
* Arguments to `open_relative` were not properly forwarded.

Internal changes:
* The testsuite has been greatly improved. It now uses the pytest API
  (not only the `pytest` launcher) for more concise code.
* The coverage of the testsuite is now measured with codecov.io. The
  results can be viewed on:
  https://codecov.io/gh/hickford/MechanicalSoup
* We now have a requires.io badge to help us tracking issues with
  dependencies. The report can be viewed on:
  https://requires.io/github/hickford/MechanicalSoup/requirements/
* The version number now appears in a single place in the source code.
2017-10-06 06:31:44 +00:00
leot
9823c1fc1e - Also needs py-requests and py-six, add them to DEPENDS.
- Unset USE_LANGUAGES list (no C compiler is needed).
- Bump PKGREVISION.

Discussed with <wiz>
2017-05-14 13:00:12 +00:00
wiz
610412883f Import py-MechanicalSoup-0.7.0 as www/py-MechanicalSoup.
A Python library for automating interaction with websites.
MechanicalSoup automatically stores and sends cookies, follows
redirects, and can follow links and submit forms. It doesn't do
Javascript.
2017-05-12 10:02:13 +00:00