working Party Search

test code:
G = nx.Graph ()
G.add_edge('SS', 'SR',weight = 1)
G.add_edge('SS','SE', weight = 1)

G.add_edge('SR',1, weight = 2)
G.add_edge('SR',2, weight = 100)

G.add_edge('SE',2, weight = 100)
G.add_edge('SE',3, weight = 3)

G.add_edge(1,'DE', weight = 2)
G.add_edge(2,'DE', weight = 100)
G.add_edge(2,'DR', weight = 100)
G.add_edge(3,'DR', weight = 3)

G.add_edge('DR','SD', weight = 1)
G.add_edge('DE','SD', weight = 1)
 
nx.draw(G)
path = party_dijkstra(G,source='SS',target='SD',cutoff=None,weight='weight')
path