Skip to main content

A middleware for Bottle that provides GNU Terry Pratchett

Project description

bottlepratchett

A very simple middleware that provides GNU Terry Pratchett.


In one of Terry Pratchett's novels, he proposes three things, that following his death, so more technically inclined fans have grabbed onto.

  1. The clacks
  2. The GNU instruction to the clacks (G: Send message on, N: Do not log the message, U: At the end of the line, send the message back again)
  3. "A man is not dead while his name is still spoken."

So, in that friendly spirit...

A header, applied to all connections, ('X-Clacks-Overhead': 'GNU Terry Pratchett'), so that he may never be forgotten.


This plugin designed for Bottle gives you just that.

import bottle
import bottlepratchett

bottle.install(bottlepratchett.wrap)

@bottle.get('/')
def index():
    return 'Hello'

bottle.run()

Once you've installed the plugin with bottle.install it should become available on every new call to your route. (Bottle plugins are installed on the first call per route, and then cached.)

So... If we were to use curl, we could get:

> curl -I localhost:8080
HTTP/1.0 200 OK
Date: Wed, 23 Jan 2019 01:55:00 GMT
Server: WSGIServer/0.2 CPython/3.7.2
X-Clacks-Overhead: GNU Terry Pratchett
Content-Length: 5
Content-Type: text/html; charset=UTF-8

Our header has been successfully installed.


License

Copyright 2019, James Milne

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Project details


Download files

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

Source Distribution

botttlepratchett-1.0.0.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

botttlepratchett-1.0.0-py3-none-any.whl (3.0 kB view details)

Uploaded Python 3

File details

Details for the file botttlepratchett-1.0.0.tar.gz.

File metadata

  • Download URL: botttlepratchett-1.0.0.tar.gz
  • Upload date:
  • Size: 2.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.2

File hashes

Hashes for botttlepratchett-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3fb32f418721e32a8b26d076bd51a97202110c58fb6970c310014b19fe7e5a58
MD5 1834bbc6b234b3b58092eceb2252c807
BLAKE2b-256 0c81b54f55f7278c5812b568447752ac805e9e6fadf3e821228fefead2761b29

See more details on using hashes here.

File details

Details for the file botttlepratchett-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: botttlepratchett-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 3.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.29.1 CPython/3.7.2

File hashes

Hashes for botttlepratchett-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f9dbd2189a0f24482003192cde6d707a48a3a3a6f7b58ca7cc0326cbfe269faa
MD5 24fd46410be81dd744098cff67cb2264
BLAKE2b-256 abb27c40f0f46eed956fb31f665ede1394ac06c6854a3f5918a147e498a6ace6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page