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()