Added rudimentary entry point for texture libraries.
It returns those project the user has access to that also have defined a 'texture' node type. It should also only return those projects that actually have a 'group_texture' node type defined, and have one more more 'texture' nodes (i.e. projects that don't contain texture nodes should not be returned).
This commit is contained in:
parent
81105102f4
commit
e35b7711a3
@ -199,6 +199,7 @@ from modules import file_storage
|
||||
from modules import users
|
||||
from modules import nodes
|
||||
from modules import latest
|
||||
from modules import blender_cloud
|
||||
|
||||
app.register_blueprint(encoding, url_prefix='/encoding')
|
||||
app.register_blueprint(blender_id, url_prefix='/blender_id')
|
||||
@ -206,5 +207,6 @@ projects.setup_app(app, url_prefix='/p')
|
||||
local_auth.setup_app(app, url_prefix='/auth')
|
||||
file_storage.setup_app(app, url_prefix='/storage')
|
||||
latest.setup_app(app, url_prefix='/latest')
|
||||
blender_cloud.setup_app(app, url_prefix='/bcloud')
|
||||
users.setup_app(app)
|
||||
nodes.setup_app(app)
|
||||
|
26
pillar/application/modules/blender_cloud.py
Normal file
26
pillar/application/modules/blender_cloud.py
Normal file
@ -0,0 +1,26 @@
|
||||
from flask import Blueprint, request
|
||||
from eve.methods.get import get
|
||||
from eve.utils import config as eve_config
|
||||
|
||||
from application import utils
|
||||
|
||||
TEXTURE_LIBRARY_QUERY_ARGS = {
|
||||
eve_config.QUERY_PROJECTION: utils.dumps({
|
||||
'name': 1, 'url': 1, 'permissions': 1, 'node_types.name': 1,}),
|
||||
eve_config.QUERY_SORT: utils.dumps([('name', 1)]),
|
||||
'max_results': 'null',}
|
||||
|
||||
blueprint = Blueprint('blender_cloud', __name__)
|
||||
|
||||
|
||||
@blueprint.route('/texture-libraries')
|
||||
def texture_libraries():
|
||||
# Use Eve method so that we get filtering on permissions for free.
|
||||
request.args = TEXTURE_LIBRARY_QUERY_ARGS
|
||||
projects = get('projects', {'node_types.name': 'texture'})
|
||||
|
||||
return utils.jsonify(projects)
|
||||
|
||||
|
||||
def setup_app(app, url_prefix):
|
||||
app.register_blueprint(blueprint, url_prefix=url_prefix)
|
Loading…
x
Reference in New Issue
Block a user