Source code for pacifica.uniqueid.rest

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""UniqueID CherryPy Module."""
from __future__ import print_function
from json import dumps
import cherrypy
from .orm import UniqueIndex, update_index


[docs]def error_page_default(**kwargs): """The default error page should always enforce json.""" cherrypy.response.headers['Content-Type'] = 'application/json' return dumps({ 'status': kwargs['status'], 'message': kwargs['message'], 'traceback': kwargs['traceback'], 'version': kwargs['version'] })
# pylint: disable=too-few-public-methods
[docs]class GetID(object): """CherryPy GetID object.""" exposed = True # pylint: disable=invalid-name
[docs] @staticmethod @cherrypy.tools.json_out() def GET(**kwargs): """Get an id range for the mode.""" UniqueIndex.database_connect() id_range = int(kwargs.get('range', -1)) id_mode = kwargs.get('mode', -1) index, id_range = update_index(id_range, id_mode) UniqueIndex.database_close() return {'startIndex': index, 'endIndex': index + id_range - 1}
# pylint: enable=invalid-name
[docs]class Root(object): """CherryPy Root object.""" exposed = False getid = GetID()
# pylint: enable=too-few-public-methods