diff --git a/generate_emoji_html.py b/generate_emoji_html.py
index 9140ac3ea..c4f8ef0f4 100755
--- a/generate_emoji_html.py
+++ b/generate_emoji_html.py
@@ -102,10 +102,12 @@ def _get_name(key_tuple):
return CELL_PREFIX + name
-def _generate_content(basedir, dir_infos):
+def _generate_content(basedir, dir_infos, limit):
"""Generate an html table for the infos. basedir is the parent directory
of the content, filenames will be made relative to this if underneath it,
- else absolute."""
+ else absolute. If limit is true and there are multiple dirs, limit the set of
+ sequences to those in the first dir."""
+
lines = ['
']
header_row = ['']
header_row.extend([info.title for info in dir_infos])
@@ -122,7 +124,10 @@ def _generate_content(basedir, dir_infos):
dirspec = abs_filedir
basepaths.append(dirspec)
- all_keys = _merge_keys([info.filemap for info in dir_infos])
+ if len(dir_infos) == 1 or limit:
+ all_keys = frozenset(dir_infos[0].filemap.keys())
+ else:
+ all_keys = _merge_keys([info.filemap for info in dir_infos])
for key in sorted(all_keys):
row = []
row.extend(_generate_row_cells(key, dir_infos, basepaths))
@@ -254,8 +259,8 @@ STYLE = """
td.name { background-color: white }
"""
-def write_html_page(filename, page_title, dir_infos):
- content = _generate_content(path.dirname(filename), dir_infos)
+def write_html_page(filename, page_title, dir_infos, limit):
+ content = _generate_content(path.dirname(filename), dir_infos, limit)
text = _instantiate_template(
TEMPLATE, {'title': page_title, 'style': STYLE, 'content': content})
with codecs.open(filename, 'w', 'utf-8') as f:
@@ -280,6 +285,9 @@ def main():
parser.add_argument(
'-t', '--titles', help='title, one per image dir', metavar='title',
nargs='*'),
+ parser.add_argument(
+ '-l', '--limit', help='limit to only sequences supported by first set',
+ action='store_true')
parser.add_argument(
'-de', '--default_ext', help='default extension', metavar='ext',
default=_default_ext)
@@ -294,10 +302,10 @@ def main():
print 'added .html extension to filename:\n%s' % args.filename
dir_infos = _get_dir_infos(
- args.image_dirs, args.exts, args.prefixes, args.titles, args.default_ext,
- args.default_prefix)
+ args.image_dirs, args.exts, args.prefixes, args.titles,
+ args.default_ext, args.default_prefix)
- write_html_page(args.filename, args.page_title, dir_infos)
+ write_html_page(args.filename, args.page_title, dir_infos, args.limit)
if __name__ == "__main__":