def wrapped(payload, *args, **kwargs): try: user = OSFUser.load(payload['user']) dest_node = AbstractNode.load(payload['destination']['node']) source = OsfStorageFileNode.get(payload['source'], kwargs['node']) dest_parent = OsfStorageFolder.get(payload['destination']['parent'], dest_node) kwargs.update({ 'user': user, 'source': source, 'destination': dest_parent, 'name': payload['destination']['name'], }) except KeyError: raise HTTPError(httplib.BAD_REQUEST) return func(*args, **kwargs)
def wrapped(payload, *args, **kwargs): try: user = OSFUser.load(payload['user']) dest_node = AbstractNode.load(payload['destination']['node']) source = OsfStorageFileNode.get(payload['source'], kwargs['node']) dest_parent = OsfStorageFolder.get( payload['destination']['parent'], dest_node) kwargs.update({ 'user': user, 'source': source, 'destination': dest_parent, 'name': payload['destination']['name'], }) except KeyError: raise HTTPError(httplib.BAD_REQUEST) return func(*args, **kwargs)
def post(self, request, *args, **kwargs): serializer = self.serializer_class(data=request.data, context=self.get_serializer_context()) if serializer.is_valid(): source = serializer.validated_data.pop('source') destination = serializer.validated_data.pop('destination') name = destination.get('name') dest_target = self.get_target(target_id=destination.get('target')) try: source = OsfStorageFileNode.get(source, self.get_object()) except OsfStorageFileNode.DoesNotExist: raise NotFound try: dest_parent = OsfStorageFolder.get(destination.get('parent'), dest_target) except OsfStorageFolder.DoesNotExist: raise NotFound serializer.save(source=source, destination=dest_parent, name=name) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def wrapped(payload, *args, **kwargs): try: user = OSFUser.load(payload['user']) # Waterbutler is sending back ['node'] under the destination payload - WB should change to target target = payload['destination'].get('target') or payload['destination'].get('node') dest_target = Guid.load(target).referent source = OsfStorageFileNode.get(payload['source'], kwargs['target']) dest_parent = OsfStorageFolder.get(payload['destination']['parent'], dest_target) kwargs.update({ 'user': user, 'source': source, 'destination': dest_parent, 'name': payload['destination']['name'], }) except KeyError: raise HTTPError(httplib.BAD_REQUEST) return func(*args, **kwargs)
def post(self, request, *args, **kwargs): serializer = self.serializer_class( data=request.data, context=self.get_serializer_context()) if serializer.is_valid(): source = serializer.validated_data.pop('source') destination = serializer.validated_data.pop('destination') name = destination.get('name') dest_target = self.get_target(target_id=destination.get('target')) try: source = OsfStorageFileNode.get(source, self.get_object()) except OsfStorageFileNode.DoesNotExist: raise NotFound try: dest_parent = OsfStorageFolder.get(destination.get('parent'), dest_target) except OsfStorageFolder.DoesNotExist: raise NotFound serializer.save(source=source, destination=dest_parent, name=name) return Response(serializer.data, status=status.HTTP_201_CREATED) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def wrapped(payload, *args, **kwargs): try: user = OSFUser.load(payload['user']) # Waterbutler is sending back ['node'] under the destination payload - WB should change to target target = payload['destination'].get( 'target') or payload['destination'].get('node') dest_target = Guid.load(target).referent source = OsfStorageFileNode.get(payload['source'], kwargs['target']) dest_parent = OsfStorageFolder.get( payload['destination']['parent'], dest_target) kwargs.update({ 'user': user, 'source': source, 'destination': dest_parent, 'name': payload['destination']['name'], }) except KeyError: raise HTTPError(httplib.BAD_REQUEST) return func(*args, **kwargs)