From faba60f15879f53139eef91bfc496e27daebfd94 Mon Sep 17 00:00:00 2001 From: Doug Felt Date: Thu, 25 May 2017 11:12:05 -0700 Subject: [PATCH] Provide option to skip groups when generating emoji name data. In particular, default to skipping Misc. These images don't display well (white/transparent, so disappear against white) and are of limited interest. --- generate_emoji_name_data.py | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/generate_emoji_name_data.py b/generate_emoji_name_data.py index 3d71cb6a4..e90e3e597 100755 --- a/generate_emoji_name_data.py +++ b/generate_emoji_name_data.py @@ -273,12 +273,30 @@ def _name_data(seq, seq_file): def generate_names( - src_dir, dst_dir, skip_limit=20, pretty_print=False, verbose=False): + src_dir, dst_dir, skip_limit=20, omit_groups=None, pretty_print=False, + verbose=False): srcdir = tool_utils.resolve_path(src_dir) if not path.isdir(srcdir): print >> sys.stderr, '%s is not a directory' % src_dir return + if omit_groups: + unknown_groups = set(omit_groups) - set(unicode_data.get_emoji_groups()) + if unknown_groups: + print >> sys.stderr, 'did not recognize %d group%s: %s' % ( + len(unknown_groups), '' if len(unknown_groups) == 1 else 's', + ', '.join('"%s"' % g for g in omit_groups if g in unknown_groups)) + print >> sys.stderr, 'valid groups are:\n %s' % ( + '\n '.join(g for g in unicode_data.get_emoji_groups())) + return + print 'omitting %d group%s: %s' % ( + len(omit_groups), '' if len(omit_groups) == 1 else 's', + ', '.join('"%s"' % g for g in omit_groups)) + else: + # might be None + print 'keeping all groups' + omit_groups = [] + # make sure the destination exists dstdir = tool_utils.ensure_dir_exists( tool_utils.resolve_path(dst_dir)) @@ -323,6 +341,8 @@ def generate_names( last_skipped_group = None skipcount = 0 for group in unicode_data.get_emoji_groups(): + if group in omit_groups: + continue name_data = [] for seq in unicode_data.get_emoji_in_group(group): if seq in excluded: @@ -368,12 +388,15 @@ def main(): parser.add_argument( '-m', '--missing_limit', help='number of missing images before failure ' '(default 20), use -1 for no limit', metavar='n', default=20) + parser.add_argument( + '--omit_groups', help='names of groups to omit (default "Misc")', + metavar='name', default=['Misc'], nargs='*') parser.add_argument( '-v', '--verbose', help='print progress information to stdout', action='store_true') args = parser.parse_args() generate_names( - args.srcdir, args.dstdir, args.missing_limit, + args.srcdir, args.dstdir, args.missing_limit, args.omit_groups, pretty_print=args.pretty_print, verbose=args.verbose)