좋아, 나는 이미 클래스 메서드 꾸미기에 관한 모든 질문을 읽었지만 나의 경우는 그들을 좋아하지 않는다.클래스 메서드를 장식하는 방법
u = User()
u.create(email='[email protected]', password='secrete')
내가 얻을 예외 : 나는 BaseDB의 클래스 메소드를 장식 할 수있는 방법
2012-09-08 18:17:18,230 ERROR [hairs.model.user][worker 2] create() takes exactly 1 argument (2 given)
create() takes exactly 1 argument (2 given)
내가 이해하지 못할 또는
def safe_db(foo):
def _inner(*args, **kwargs):
try:
foo(args, kwargs)
return True
except Exception as e:
log.error(e.message)
print e.message
return False
return _inner
class BaseDB(object):
def __init__(self):
self.connection = Connection()
self.db = self.connection.goobi
self.table = None
@safe_db
def create(self, **data):
self.table.insert(data)
def update(self, where, **data):
try:
self.table.update(where, {'$set': data})
return True
except Exception as e:
log.error(e.message)
print e.message
return False
그리고 나는 호출 방법은 상속 클래스 사용자로부터 생성 시도 예외를 잡아 내고 덜 고통스럽게 로깅 할 수있는 방법은 무엇입니까?
많은 thx, 내 부주의는 나를 틀리게 만든다 – Denis