Skip to content
/ ronkyuu Public

論及 ronkyuu - mention, reference to, touching upon

License

Notifications You must be signed in to change notification settings

bear/ronkyuu

Repository files navigation

Downloads Circle CI CodeCov Requirements Status

論及 ronkyuu - mention, reference to, touching upon

Python package to help with parsing, handling and other manipulations of the IndieWeb Toolkit items, such as:

  • Webmention
  • Discovery of mentions in a publisher's post, the handling of finding what the Webmention callback is for the reference and also handling of incoming Webmention requests are handled.
  • RelMe
  • Take a source URL and a resource URL that is supposed to be a rel=me for the source and verify that it is.

See the examples/ directory for sample command line tools.

Because Ronkyuu uses BeautifulSoup4 for it's amazing HTML wrangling ability, you have the option of enabling faster parsing via the lxml package instead of the default html5lib package.

import ronkyuu

ronkyuu.webmention.setParser('lxml')

Contributors

  • bear (Mike Taylor)
  • kartikprabhu (Kartik Prabhu)

WebMentions

findMentions(sourceURL, targetURL, ...)

Find all <a /> elements in the html returned for a post. If any have an href attribute that is not from the one of the items in domains, append it to our lists.

findEndpoint(html)

Search the given html content for all <link /> elements and return any discovered WebMention URL.

discoverEndpoint(sourceURL, ...)

Discover any WebMention endpoint for a given sourceURL.

sendWebmention(sourceURL, targetURL, webmention)

Send to the targetURL a WebMention for the sourceURL. The WebMention will be discovered if it is not given in the optional webmention parameter.

RelMe

findRelMe(sourceURL)

Find all <a /> elements in the given html for a post. If any have an href attribute that is rel="me" then include it in the result.

confirmRelMe(profileURL, resourceURL, profileRelMes, resourceRelMes)

Determine if a given resourceURL is authoritative for the profileURL. The list of rel="me" links will be discovered if not provided in the optional profileRelMes parameter or the resourceRelMes parameter.

Validators

URLValidator class

TODO: fill in details of how to use

Requires

Python v3.9+ -- see Pipfile for the full list

The Makefile takes advantage of Pipenv (which will use pyenv if installed) to manage the Python dependencies.

For testing we use httmock to mock the web calls.