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 details)

Uploaded Source

File details

Details for the file flask-objectid-converter-2.0.0.tar.gz.

File metadata

  • Download URL: flask-objectid-converter-2.0.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.8

File hashes

Hashes for flask-objectid-converter-2.0.0.tar.gz
Algorithm Hash digest
SHA256 544934f41aeb3345da5de4082b8151110ad793b5915898a5a19e3f8527127d46
MD5 fe49430437afe07822d1040059f3c552
BLAKE2b-256 9d028912ae72712108a75d141645a5a8b4b59eaa34ad3bdac6d784039b9f61aa

See more details on using hashes here.

Supported by

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