Some simple tools in python to deal with Webmentions.
Note, that this package was formerly known as webmentiontools, but had to be renamed due to PEP-541. (Namely, not classified as abandoned project, because the author was reachable).
Currently:
- webmentiontools.send implements WebmentionSend that sends Webmentions.
- webmentiontools.urlinfo implements UrlInfo() that will rerurn usefull information about a web page, like title, the existance of an "in-reply-to" link, the author name, the author image, etc.
- webmentiontools.webmentionio provides a class to query webmention.io
There is also the corresponting command line tool, webmention-tools (which is also a simple example on how to use the library.
Check bin/demo.py on how to use the library to query webmention.io and present information for all URLs that mentioned http://indiewebcamp.com/webmention
pip install webmention-tools
Command line:
webmention-tools send `source` `target` webmention-tools urlinfo `url`
or
Python code to send a Webmention:
from webmentiontools.send import WebmentionSend source = 'URL of page sending the Webmention' target = 'URL of page to receive the Webmention' mention = WebmentionSend(source, target) mention.send()
Python code to get info about a webpage.
from webmentiontools.urlinfo import UrlInfo url = 'a link to a web page' i = UrlInfo(url) if i.error: print('There was an error getting %s' % url) else: print('in-reply-to link: %s' % i.inReplyTo()) print('publication date: %s' % i.pubDate()) print('page title: %s' % i.title()) print('image link: %s' % i.image())
- Create a virtualenv with python3
- Change into that directory and clone the repository
- Activate the virtualenv by
source
ingbin/activate
- Change into the cloned repository and install dependencies via `pip install -r requirements.txt'
- Run
pytest --cov=webmentiontools
for unit tests with code coverage