Source code for flask_constance.view
import typing as t
from flask import abort, request
from flask.views import MethodView
from .globals import settings
[docs]class ConstanceView(MethodView):
"""Method view for managing dynamic settings."""
[docs] def put(self, name: str):
"""Update value for the setting."""
if name not in dir(settings):
abort(404)
data = request.get_json()
setattr(settings, name, data)
return {}, 200
[docs] def get(self, name: t.Optional[str] = None):
"""Get specific setting or all settings."""
if name:
if name not in dir(settings):
abort(404)
return {name: getattr(settings, name)}
return {key: getattr(settings, key) for key in dir(settings)}
[docs] def delete(self, name: str):
"""Delete(actually reset) setting value."""
if name not in dir(settings):
abort(404)
delattr(settings, name)
return {}, 200