-
Couldn't load subscription status.
- Fork 7.1k
Closed
Labels
Description
learning the example patterns/behavioral/memento.py.
Transactional is defined as a descriptor, this looks more complicated
class Transactional:
def __init__(self, method):
self.method = method
def __get__(self, obj, T):
def transaction(*args, **kwargs):
state = memento(obj)
try:
return self.method(obj, *args, **kwargs)
except Exception as e:
state()
raise e
return transactionhow about refactor to normal higher-order function?
def Transactional(method):
def transaction(obj, *args, **kwargs):
state = memento(obj)
try:
return method(obj, *args, **kwargs)
except Exception as e:
state()
raise e
return transaction