def FileFamilyStyleWeight(filename):
  m = re.search(_FAMILY_WEIGHT_REGEX, filename)
  if not m:
    raise ParseError('Could not parse %s' % filename)
  sw = StyleWeight(m.group(2))
  return FileFamilyStyleWeightTuple(filename, FamilyName(m.group(1)), sw[0],
                                    sw[1])
:param string shard_spec: A string of the form M/N where M, N are ints and 0 <= M < N.
dataset/ETHPy150Open googlefonts/fontbakery/tools/fontbakery-build-fontmetadata.py/FileFamilyStyleWeight--crossover with--dataset/ETHPy150Open pantsbuild/pants/src/python/pants/base/hash_utils.py/Sharder.__init__