# función que invoca el @contextlib.contextmanager:
def dbx_user_status (dbx=dbx):
''' obteber información del usuario '''
with dbx_error("Obteniendo información de usuario"): # incorporo manejo de errores con contextmanager.
user = dbx.users_get_current_account()
print ("Usuario:\n %s"%user)
with dbx_error("Obteniendo espacio usado en cuenta."):
space = dbx.users_get_space_usage()
print ("\nEspacio usado:\n %s"%space)
return user, space
# Con esto gestiono los errores:
@contextlib.contextmanager
def dbx_error(mensaje):
try:
yield
except Exception as er:
print ("# Ha habido un error '%s' en la función %s de tipo:\n %s" %(mensaje, (Aquí quiero el nombre!) ,er))
''' Me da un mensaje sufuciente para interpretar el error, pero además,
lo que quiero es que desde aquí sea capaz de saber desde que función
o método viene (que es lo que no sé hacer) e indicármelo también. '''