comparison planemo/lib/python3.7/site-packages/networkx/utils/contextmanagers.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
comparison
equal deleted inserted replaced
0:d30785e31577 1:56ad4e20f292
1
2 from contextlib import contextmanager
3
4 __all__ = [
5 'reversed',
6 ]
7
8
9 @contextmanager
10 def reversed(G):
11 """A context manager for temporarily reversing a directed graph in place.
12
13 This is a no-op for undirected graphs.
14
15 Parameters
16 ----------
17 G : graph
18 A NetworkX graph.
19 """
20 directed = G.is_directed()
21 if directed:
22 G._pred, G._succ = G._succ, G._pred
23 G._adj = G._succ
24
25 try:
26 yield
27 finally:
28 if directed:
29 # Reverse the reverse.
30 G._pred, G._succ = G._succ, G._pred
31 G._adj = G._succ