def YamlLoader(string):
  representation = yaml.load(string)
  result_cls = aff4.FACTORY.AFF4Object(representation["aff4_class"])
  aff4_attributes = {}
  for predicate, values in representation["attributes"].items():
    attribute = aff4.Attribute.PREDICATES[predicate]
    tmp = aff4_attributes[attribute] = []

    for rdfvalue_cls_name, value, age in values:
      rdfvalue_cls = aff4.FACTORY.RDFValue(rdfvalue_cls_name)
      value = rdfvalue_cls(value, age=rdfvalue.RDFDatetime(age))
      tmp.append(value)

  # Ensure the object is dirty so when we save it, it can be written to the data
  # store.
  result = result_cls(urn=representation["_urn"],
                      clone=aff4_attributes, mode="rw",
                      age=representation["age_policy"])

  result.new_attributes, result.synced_attributes = result.synced_attributes, {}

  result._dirty = True  # pylint: disable=protected-access

  return result
kills the progressWindow
dataset/ETHPy150Open google/grr/grr/lib/serialize.py/YamlLoader--crossover with--dataset/ETHPy150Open eoyilmaz/anima/anima/ui/progress_dialog.py/ProgressDialogManager.close