Commit e577ea88 authored by Greg Wilson's avatar Greg Wilson
Browse files

Checking for links to figures

parent 9a5ab181
......@@ -8,6 +8,15 @@ from optparse import OptionParser
from util import Reporter, read_markdown
# Things an image file's name can end with.
PATH_SUFFICES = {
'.gif',
'.jpg',
'.png',
'.svg'
}
def main():
"""Main driver."""
......@@ -54,6 +63,7 @@ def get_images(parser, filename):
content = read_markdown(parser, filename)
result = []
find_image_nodes(content['doc'], result)
find_image_links(content['doc'], result)
return result
......@@ -68,6 +78,18 @@ def find_image_nodes(doc, result):
find_image_nodes(child, result)
def find_image_links(doc, result):
"""Find all links to files in the 'fig' directory."""
if (doc['type'] == 'a') and ('attr' in doc) and ('href' in doc['attr']):
path = doc['attr']['href']
if os.path.splitext(path)[1].lower() in PATH_SUFFICES:
result.append({'alt':'', 'src': doc['attr']['href']})
else:
for child in doc.get('children', []):
find_image_links(child, result)
def save(stream, images):
"""Save results as Markdown."""
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment