code: def _preprocess_edges_for_pydot(edges_with_data):
      
      for (source, target, attrs) in edges_with_data:
          if 'label' in attrs:
              yield (quote_for_pydot(source), quote_for_pydot(target),
                     {'label': quote_for_pydot(attrs['label'])})
          else:
              yield (quote_for_pydot(source), quote_for_pydot(target), {})
docs: throw away all edge attributes, except for 'label