Mercurial > repos > guerler > springsuite
diff 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 (2020-07-31) |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/planemo/lib/python3.7/site-packages/networkx/utils/contextmanagers.py Fri Jul 31 00:32:28 2020 -0400 @@ -0,0 +1,31 @@ + +from contextlib import contextmanager + +__all__ = [ + 'reversed', +] + + +@contextmanager +def reversed(G): + """A context manager for temporarily reversing a directed graph in place. + + This is a no-op for undirected graphs. + + Parameters + ---------- + G : graph + A NetworkX graph. + """ + directed = G.is_directed() + if directed: + G._pred, G._succ = G._succ, G._pred + G._adj = G._succ + + try: + yield + finally: + if directed: + # Reverse the reverse. + G._pred, G._succ = G._succ, G._pred + G._adj = G._succ