سلام
ظاهرا از فانکشن پاس داده شده به دکوراتور استفاده نشده (و بدنه اون کپی شده). بنظر اگر کد به شکل زیر تغییر کنه بهتره
def calculate_vat(func):
def wrapped_func(pur):
vat = VAT[pur.address.country]
# total_price = pur.total_price()
total_price = func(pur)
return total_price + total_price * vat / 100
return wrapped_func
@calculate_vat
def show_vat_pluse_price(p):
return p.total_price()