Skip to main content

Provides url converters for flask to support pymonogs ObjectIDs

Project description

version license pyversions pipeline status coverage

flask-objectid-converter

Provides url converters for flask to support pymonogs ObjectIDs

I found the snippet from here by Armin Ronacher but could not find a package for it.

Usage

  • add the Converter to the flask app
  • use it in routes

Add Converter to app:

The package defines two converters to use:

  • ObjectIDConverter: stringify the id
  • Base64ObjectIDConverter: produces smaller strings by encoding to base64
from flask import Flask
from flask_objectid_converter import ObjectIDConverter

app = Flask(__name__)
app.url_map.converters['objectid'] = ObjectIDConverter

Use in routes

@app.route('/users/<objectid:oid>')
def get_user(oid):
    return User.objects.get(id=oid)

Throws 404 if the requested value cant be decoded

get route via url_for

from flask import url_for
url_for(get_user, oid=User.id)

Testing

python setup.py test

Possible extensions

Make the package a proper flask extension with init_app, encode, decode functions, configuration of conversion algorithm (specify alphabet)...

Changelog

  • 1.0.0: Inital version. Encodes to base64 by default.
  • 2.0.0: Provide two converter classes. A simple one and a base64 encoding one. Drop python2 support.

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

flask-objectid-converter-2.0.0.tar.gz (3.1 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page