def METHOD_NAME(args=None):
  parser = ArgumentParser(description=__doc__,
                          formatter_class=RawTextHelpFormatter)
  parser.add_argument('key',
                      help='Key from Google Fonts Developer API')
  parser.add_argument('family',
                      help='family name on fonts.google.com')
  parser.add_argument('sample_text',
                      help='sample text used for each font')
  parser.add_argument('--subsets', nargs='+',
                      help='family subset(s) seperated by a space')
  args = parser.parse_args(args)
  gf_family = get_gf_family(args.family, args.key)
  family_styles = get_family_styles(gf_family)
  family_subsets = get_family_subsets(args.subsets, gf_family)
  if family_subsets:
    head_fonts = gen_head_webfonts(args.family, family_styles, family_subsets)
  else:
    head_fonts = gen_head_webfonts(args.family, family_styles)
  css_styles = gen_css_styles(args.family, family_styles)
  body_text = gen_body_text(family_styles, args.sample_text)
  html = """