def number_of_child_nodes()

in source/backend/src/transfer_sftp_backend.py [0:0]


def number_of_child_nodes():
    try:
        logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - number_of_child_nodes(): Request received')
        sftp_hostname = app.config.get('sftp_hostname')
        usr, passwdorpkey = authenticate_request(request)
        response_body = {}

        request_data = request.get_json()
        node_name = request_data['node_name']  # what is parent node
        response_body['data'] = []

        sftp_connection = get_sftp_connection(usr, passwdorpkey, sftp_hostname)

        nodes = sftp_connection.listdir_attr(node_name)
        number_of_nodes = len(nodes)

        #Return number of files within a folder
        response_body['data'].append(
            {
                'number_of_nodes': number_of_nodes
            }
        )

        response = jsonify(response_body)
        response.status_code = 200
        logger.info(f'TaskID: {fargate_task_id}(PID:{pid}) - number_of_child_nodes(): Responding back with 200 status code')
        return response
    except Exception as e:
        logger.error(f'TaskID: {fargate_task_id}(PID:{pid}) - number_of_child_nodes(): call to /api/numberofchildnodes returned exception {e}')
        return bad_request("Bad or Invalid Request", 500)