def METHOD_NAME(self):
    """
    Build the python script.
    """
    # Compile output from the plugins
    output = dict()
    for plugin in self._plugins.values():
        for key, value in plugin.METHOD_NAME().items():
            if key in output:
                output[key] += value
            else:
                output[key] = value
    # Add colorbar to window
    if 'colorbar' in output:
        output['window'][0] = 'window = chigger.RenderWindow(result, cbar)'
    # Make import unique
    mooseutils.unique_list(output['imports'], output['imports'])
    # Apply the filters, if they exist
    if 'filters' in output:
        filters = []
        for match in re.findall(r'^(\w+)\s*=', '\n'.join(output['filters']), flags=re.MULTILINE):
            filters.append(match)
        output['result'] += ['result.setOptions(filters=[{}])'.format(', '.join(filters))]
    # Build the script
    string = ''
    for key in ['imports', 'camera', 'reader', 'filters', 'result', 'colorbar', 'window']:
        if key in output:
            string += '\n{}\n'.format('\n'.join(output.pop(key)))
    # Error if keys exist, this means data is missing from the script
    if output:
        raise mooseutils.MooseException('The output data was not completely written, the following keys remain: {}'.format(str(output.keys())))
    return string