Features
`wayback.Memento` now has a `links` property with information about other URLs that are related to the memento, such as the previous or next mementos in time. It’s a dict where the keys identify the relationship (e.g. `'prev memento'`) and the values are dicts with additional information about the link. (57)
For example::
py
{
'original': {
'url': 'https://www.fws.gov/birds/',
'rel': 'original'
},
'first memento': {
'url': 'https://web.archive.org/web/20050323155300id_/http://www.fws.gov:80/birds',
'rel': 'first memento',
'datetime': 'Wed, 23 Mar 2005 15:53:00 GMT'
},
'prev memento': {
'url': 'https://web.archive.org/web/20210125125216id_/https://www.fws.gov/birds/',
'rel': 'prev memento',
'datetime': 'Mon, 25 Jan 2021 12:52:16 GMT'
},
'next memento': {
'url': 'https://web.archive.org/web/20210321180831id_/https://www.fws.gov/birds',
'rel': 'next memento',
'datetime': 'Sun, 21 Mar 2021 18:08:31 GMT'
},
'last memento': {
'url': 'https://web.archive.org/web/20221006031005id_/https://fws.gov/birds',
'rel': 'last memento',
'datetime': 'Thu, 06 Oct 2022 03:10:05 GMT'
}
}
One use for these is to iterate through additional mementos. For example, to get the previous memento::
py
client.get_memento(memento.links['prev memento']['url'])
Fixes & Maintenance
- Fix an issue where the `Memento.url` attribute might be slightly off from the exact URL that was captured (it could have a different protocol, different upper/lower-casing, etc.). (99)
- Fix an error when getting a memento for a redirect in `view` mode. If you called `wayback.WaybackClient.get_memento` with a URL that turned out to be a redirect at the given time and set the `mode` option to `wayback.Mode.view`, you’d get an exception saying “Memento at {url} could not be played.” Now this works just fine. (109)