'%/LICENSE.md': True,
'%/README.md': False,
'%/_extras/discuss.md': True,
- '%/_extras/figures.md': True,
'%/_extras/guide.md': True,
'%/index.md': True,
'%/reference.md': True,
for filename in docs.keys():
checker = create_checker(args, filename, docs[filename])
checker.check()
- check_figures(args.source_dir, args.reporter)
args.reporter.report()
seen)
-def check_figures(source_dir, reporter):
- """Check that all figures are present and referenced."""
-
- # Get references.
- try:
- all_figures_html = os.path.join(source_dir, '_includes', 'all_figures.html')
- with open(all_figures_html, 'r') as reader:
- text = reader.read()
- figures = P_FIGURE_REFS.findall(text)
- referenced = [os.path.split(f)[1] for f in figures if '/fig/' in f]
- except FileNotFoundError as e:
- reporter.add(all_figures_html,
- 'File not found')
- return
-
- # Get actual image files (ignore non-image files).
- fig_dir_path = os.path.join(source_dir, 'fig')
- actual = [f for f in os.listdir(fig_dir_path) if os.path.splitext(f)[1] in IMAGE_FILE_SUFFIX]
-
- # Report differences.
- unexpected = set(actual) - set(referenced)
- reporter.check(not unexpected,
- None,
- 'Unexpected image files: {0}',
- ', '.join(sorted(unexpected)))
- missing = set(referenced) - set(actual)
- reporter.check(not missing,
- None,
- 'Missing image files: {0}',
- ', '.join(sorted(missing)))
-
-
def create_checker(args, filename, info):
"""Create appropriate checker for file."""