Mercurial > repos > shellac > sam_consensus_v3
view env/lib/python3.9/site-packages/networkx/utils/contextmanagers.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
line wrap: on
line source
from contextlib import contextmanager import warnings __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. Warning ------- The reversed context manager is deprecated in favor of G.reverse(copy=False). The view allows multiple threads to use the same graph without confusion while the context manager does not. This context manager is scheduled to be removed in version 3.0. """ msg = ( "context manager reversed is deprecated and to be removed in 3.0." "Use G.reverse(copy=False) if G.is_directed() else G instead." ) warnings.warn(msg, DeprecationWarning) 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