def METHOD_NAME(self):
    exclude_patterns = ('setup.py',
                        'build/*',
                        'dist/*',
                        'docs/*',
                        'iris_grib/tests/unit/results/*',
                        'iris_grib.egg-info/*')
    try:
        last_change_by_fname = self.last_change_by_fname()
    except ValueError:
        # Caught the case where this is not a git repo.
        return self.skipTest('Iris-grib installation did not look like a '
                             'git repo.')
    failed = False
    for fname, last_change in sorted(last_change_by_fname.items()):
        full_fname = os.path.join(REPO_DIR, fname)
        if full_fname.endswith('.py') and os.path.isfile(full_fname) and \
                not any(fnmatch(fname, pat) for pat in exclude_patterns):
            with open(full_fname) as fh:
                content = fh.read()
                if not content.startswith(LICENSE_TEMPLATE):
                    print('The file {} does not start with the required '
                          'license header.'.format(fname))
                    failed = True
    if failed:
        raise ValueError('There were license header failures. See stdout.')