Exemplo n.º 1
0
def FindFonts(path):
    """Find one weight per family in each font directory in path.

  Args:
    path: A directory.
  Returns:
    A list of full paths to font files in Google-fonts style directories under
    path. Selects one weight per family.
  """
    files = []
    for font_dir in fonts.FontDirs(path):
        try:
            metadata = fonts.Metadata(font_dir)
        except ValueError:
            print 'Bad METADATA.pb for %s' % font_dir
            continue

        try:
            filename = fonts.RegularWeight(metadata)
        except OSError:
            print 'No RegularWeight for %s' % font_dir
            filename = metadata.fonts[0].filename

        files.append(os.path.join(font_dir, filename))

    return files
def main(argv):
    result_code = 0
    all_results = []
    paths = [_DropEmptyPathSegments(os.path.expanduser(p)) for p in argv[1:]]
    for path in paths:
        if not os.path.isdir(path):
            raise ValueError('Not a directory: %s' % path)

    for path in paths:
        for font_dir in fonts.FontDirs(path):
            results = _SanityCheck(font_dir)
            all_results.extend(results)
            for result in results:
                result_msg = 'pass'
                if not result.happy:
                    result_code = 1
                    result_msg = 'FAIL'
                if not result.happy or not FLAGS.suppress_pass:
                    print('%s: %s (%s)' %
                          (result_msg, result.message, font_dir))

    if FLAGS.repair_script:
        _WriteRepairScript(FLAGS.repair_script, all_results)

    sys.exit(result_code)