Fetches the latest graph-series for a client label from the legacy DB.

  Args:
    label: Client label to fetch data for.
    report_type: rdf_stats.ClientGraphSeries.ReportType to fetch data for.
    token: ACL token to use for reading from the DB.

  Raises:
    AFF4AttributeTypeError: If an unexpected report-data type is encountered.

  Returns:
    The graph series for the given label and report type that was last
    written to the DB, or None if no series for that label and report-type
    exist.

def _FetchMostRecentGraphSeriesFromTheLegacyDB(
    label,
    report_type,
    token = None
):
  """Fetches the latest graph-series for a client label from the legacy DB.

  Args:
    label: Client label to fetch data for.
    report_type: rdf_stats.ClientGraphSeries.ReportType to fetch data for.
    token: ACL token to use for reading from the DB.

  Raises:
    AFF4AttributeTypeError: If an unexpected report-data type is encountered.

  Returns:
    The graph series for the given label and report type that was last
    written to the DB, or None if no series for that label and report-type
    exist.
  """
  try:
    stats_for_label = aff4.FACTORY.Open(
        GetAFF4ClientReportsURN().Add(label),
        aff4_type=aff4_stats.ClientFleetStats,
        mode="r",
        token=token)
  except aff4.InstantiationError:
    # Nothing to return for the given label and report-type.
    return None
  aff4_attr = _GetAFF4AttributeForReportType(report_type)
  graph_series = rdf_stats.ClientGraphSeries(report_type=report_type)
  if aff4_attr.attribute_type == rdf_stats.GraphSeries:
    graphs = stats_for_label.Get(aff4_attr)
    if graphs is None:
      return None
    for graph in graphs:
      graph_series.graphs.Append(graph)
  elif aff4_attr.attribute_type == rdf_stats.Graph:
    graph = stats_for_label.Get(aff4_attr)
    if graph is None:
      return None
    graph_series.graphs.Append(graph)
  else:
    raise AFF4AttributeTypeError(aff4_attr.attribute_type)
  return graph_series