code: def do_conversion(topology_def, topology_name, output_dir=None, debug=False,
                    quiet=False):
      
      # Create a new instance of the the Converter
      gns3_conv = Converter(topology_def['file'], debug)
      # Read the old topology
      old_top = gns3_conv.read_topology()
      new_top = JSONTopology()
  
      # Process the sections
      (topology) = gns3_conv.process_topology(old_top)
  
      # Generate the nodes
      new_top.nodes = gns3_conv.generate_nodes(topology)
      # Generate the links
      new_top.links = gns3_conv.generate_links(new_top.nodes)
  
      new_top.notes = gns3_conv.generate_notes(topology['artwork']['NOTE'])
      new_top.shapes = gns3_conv.generate_shapes(topology['artwork']['SHAPE'])
      new_top.images = gns3_conv.generate_images(topology['artwork']['PIXMAP'])
  
      # Enter topology name
      new_top.name = topology_name
  
      # Save the new topology
      save(output_dir, gns3_conv, new_top, topology_def['snapshot'], quiet)
docs: Convert the topology
  
      :param dict topology_def: Dict containing topology file and snapshot bool.
                                For example:
                                ``{'file': filename, 'snapshot': False}``
      :param str topology_name: The name of the topology
      :param str output_dir: The directory in which to output the topology.
                             (Default: None)
      :param bool debug: Enable debugging (Default: False)