In the old situation, users had to be able to change their own roles. This is inherently insecure.
32 lines
976 B
Python
32 lines
976 B
Python
from flask import request
|
|
from werkzeug import exceptions as wz_exceptions
|
|
|
|
|
|
def blender_cloud_addon_version():
|
|
"""Returns the version of the Blender Cloud Addon, or None if not given in the request.
|
|
|
|
Uses the 'Blender-Cloud-Addon' HTTP header.
|
|
|
|
:returns: the version of the addon, as tuple (major, minor, micro)
|
|
:rtype: tuple or None
|
|
:raises: werkzeug.exceptions.BadRequest if the header is malformed.
|
|
"""
|
|
|
|
header = request.headers.get('Blender-Cloud-Addon')
|
|
if not header:
|
|
return None
|
|
|
|
parts = header.split('.')
|
|
try:
|
|
return tuple(int(part) for part in parts)
|
|
except ValueError:
|
|
raise wz_exceptions.BadRequest('Invalid Blender-Cloud-Addon header')
|
|
|
|
|
|
def setup_app(app, url_prefix):
|
|
from . import texture_libs, home_project, subscription
|
|
|
|
texture_libs.setup_app(app, url_prefix=url_prefix)
|
|
home_project.setup_app(app, url_prefix=url_prefix)
|
|
subscription.setup_app(app, url_prefix=url_prefix)
|