示例#1
0
文件: views.py 项目: stencila/hub
def boot(request, address):
    '''
    Boot up a component
    '''
    api = API(request)
    if api.put:
        component = Component.get(
            id=None,
            user=request.user,
            action=READ,
            address=address
        )

        action, grantor = component.rights(request.user)
        if action >= EXECUTE:
            api.user_ensure()
            session = component.activate(
                user=request.user
            )
        else:
            session = None

        return api.respond({
            'rights': {
                'action': action_string(action),
                'grantor': grantor.serialize(user=request.user) if grantor else None
            },
            'session': session.serialize(user=request.user) if session else None
        })
    return api.respond_bad()