parameters: (wires, joinAttempts = 0)
docstring: joinWires(objects): merges a set of wires where possible, if any of those
      wires have a coincident start and end point
docstring_summary: joinWires(objects): merges a set of wires where possible, if any of those
      wires have a coincident start and end point
docstring_tokens: joinWires ( objects ) : merges a set of wires where possible if any of those wires have a coincident start and end point
function: def join_wires(wires, joinAttempts = 0):
      """joinWires(objects): merges a set of wires where possible, if any of those
      wires have a coincident start and end point"""
      if joinAttempts > len(wires):
          return
      joinAttempts += 1
      for wire1Index, wire1 in enumerate(wires):
          for wire2Index, wire2 in enumerate(wires):
              if wire2Index <= wire1Index:
                  continue
              if joinTwoWires(wire1, wire2):
                  wires.pop(wire2Index)
                  break
      joinWires(wires, joinAttempts)
function_tokens: def join_wires ( wires , joinAttempts = 0 ) : if joinAttempts > len ( wires ) : return joinAttempts += 1 for wire1Index , wire1 in enumerate ( wires ) : for wire2Index , wire2 in enumerate ( wires ) : if wire2Index <= wire1Index : continue if joinTwoWires ( wire1 , wire2 ) : wires . pop ( wire2Index ) break joinWires ( wires , joinAttempts )