Skip to main content

WSGI commenting middleware

To use

Make a factory wrapping your app in the commentator middleware. Currently, commentator only pickles comments. To the constructor of Commentator, pass a database (the path to the pickle) and a pattern. The pattern is in the form of

<URL pattern>#<xpath pattern> -> URL

The URL pattern is a python regular expression to match against the request’s PATH_INFO.

The xpath pattern is where you want to place the comments on the page. See http://www.w3schools.com/XPath/ for more about xpath expressions.

The URL is a python string template that is substituted for groups in the URL regular expression and element attributes in the found nodes. The element attributes are referenced by name (${id}, ${class}, etc) and the groups are referenced by number (${1}, …).

Example

A reference implementation is illustrated in the commentator.ini file. This uses the pattern:

commentator.pattern = (.*)#.//div[@id='comment_on_this'] -> ${1}

What this pattern says is

  • comment on every PATH_INFO (.*)

  • append the rendered content template to div[@id='comment_on_this']

  • reference the PATH_INFO as the canonical URL ${1}

To comment on every HTML page at the end of the body, you would use

commentator.pattern = (.*)#.//body -> ${1}

A more complex example is in the .ini file, commented out, for use with bitsyblog :

commentator.pattern = /blog/.*#.//div[@class='blog-entry'] -> /blog/${id}

This pattern says:

  • comment on all paths under blog

  • put the comments at the end of each div[@class='blog-entry']

  • get the URI from the div’s id, not from the PATH_INFO

TODO

This is very alpha. I’d be happy to work more on this if anyone wants it. A few outstanding issues:

  • fix weird lxml issue where you have to put .// for elements

  • allow commenting on multiple resources (multiple patterns per instance)

  • locking pickle files

  • fix couch….not sure what’s wrong

  • allow use of CSS classes, not just xpath

http://k0s.org

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commentator-0.1.tar.gz (5.0 kB view details)

Uploaded Source

File details

Details for the file commentator-0.1.tar.gz.

File metadata

  • Download URL: commentator-0.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for commentator-0.1.tar.gz
Algorithm Hash digest
SHA256 0898f004849eaab1fab72b0235721961a3df9d82a45b70347258b4cc2f72a950
MD5 48730b75e48be7d8cb9248ff0ba7748e
BLAKE2b-256 d88c9519668b415d9bb7ccd4b56e00ec86d86b3049f7f68e1005b728a269e1c2

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page