[docs]def get_wrapper(env, name):
r"""Return a wrapped environment of a specific wrapper.
.. note::
If no such wrapper found, then an ``None`` is returned.
Args:
env (Env): environment
name (str): name of the wrapper
Returns
-------
out : env
wrapped environment
"""
if name == env.__class__.__name__:
return env
elif env.unwrapped is env: # reaching underlying environment
return None
else:
return get_wrapper(env.env, name)
[docs]def get_all_wrappers(env):
r"""Returns a list of wrapper names of a wrapped environment.
Args:
env (Env): wrapped environment
Returns
-------
out : list
list of string names of wrappers
"""
out = []
while env is not env.unwrapped:
out.append(env.__class__.__name__)
env = env.env
return out