Skip to content
Snippets Groups Projects
Select Git revision
  • 41a494265527b3ca5425232a4dcde60f23c0ebfd
  • develop default
  • master protected
  • feature/frontend-tests
  • 0.99
  • 0.98
  • 0.97
  • 0.96
  • 0.95
  • 0.94
  • 0.93
  • 0.92
  • 0.91
  • 0.90
  • 0.89
  • 0.88
  • 0.87
  • 0.86
  • 0.85
  • 0.84
  • 0.83
  • 0.82
  • 0.81
  • 0.80
24 results

default.py

Blame
  • saket.agrahari's avatar
    Saket Agrahari authored
    41a49426
    History
    default.py 1.34 KiB
    """
    Default Endpoints
    =========================
    
    .. contents:: :local:
    
    /version
    ---------------------
    
    .. autofunction:: compendium_v2.routes.default.version
    
    """
    import pkg_resources
    
    from flask import Blueprint, jsonify
    from compendium_v2.routes import common
    from flask import Flask, render_template
    
    routes = Blueprint("compendium-v2-default", __name__)
    API_VERSION = '0.1'
    
    VERSION_SCHEMA = {
        '$schema': 'http://json-schema.org/draft-07/schema#',
    
        'type': 'object',
        'properties': {
            'api': {
                'type': 'string',
                'pattern': r'\d+\.\d+'
            },
            'module': {
                'type': 'string',
                'pattern': r'\d+\.\d+'
            }
        },
        'required': ['api', 'module'],
        'additionalProperties': False
    }
    
    
    @routes.after_request
    def after_request(resp):
        return common.after_request(resp)
    
    
    @routes.route("/")
    def index():
        return render_template('index.html')
    
    
    @routes.route("/version", methods=['GET', 'POST'])
    @common.require_accepts_json
    def version():
        """
        handler for /version requests
    
        response will be formatted as:
    
        .. asjson::
            compendium_v2.routes.default.VERSION_SCHEMA
    
        :return:
        """
        version_params = {
            'api': API_VERSION,
            'module':
                pkg_resources.get_distribution('compendium-v2').version
        }
        return jsonify(version_params)