Skip to main content

Shrink a URL using an internal or external shortening service

Project description

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.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
bambu-urlshortener-2.0.tar.gz (4.7 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page