bambu-urlshortener

Shrink a URL using an internal or external shortening service


License
Other
Install
pip install bambu-urlshortener==2.0

Documentation

Bambu URL Shortener

This package generates short URLs when given longer ones. These can be generated by the app, with a 7 (by default) character short-name, or by an external provider, like bit.ly.

About Bambu Tools 2.0

This is part of a toolset called Bambu Tools. It's being moved from a namespace of bambu to its own 'root-level' package, along with all the other tools in the set. If you're upgrading from a version prior to 2.0, please make sure to update your code to use bambu_urlshortener rather than bambu.urlshortener.

Installation

Install the package via Pip:

pip install bambu-urlshortener

Add it to your INSTALLED_APPS list:

INSTALLED_APPS = (
    ...
    'bambu_urlshortener'
)

To use internal URL shortening - rather than a service like bit.ly - add the middleware to your settings:

MIDDLEWARE_CLASSES = (
    ...
    'bambu_urlshortener.middleware.ShortURLFallbackMiddleware'
)

This should be added as close to the end of your middleware list as possible, as it looks for 404 responses and tries to find a URL short-name corresponding to the requested path.

Run manage.py syncdb or manage.py migrate to setup the database tables.

Basic usage

Simply call bambu_urlshortener.shorten, passing in the long URL.

Providers

There are two in-built shortening providers:

bambu_urlshortener.providers.db.DatabaseProvider

This default option, coupled with the middleware allows a web app to provide its own short URLs.

bambu_urlshortener.providers.bitly.BitlyProvider

Calls the bit.ly API and returns a short URL. Specify the API key via the SHORTURL_TOKEN setting. Optionally set the SHORTURL_DOMAIN setting if you want to use a custom domain name.

Todo

  • Write more tests

Questions or suggestions?

Find me on Twitter (@iamsteadman) or visit my blog.