Private
Public Access
1
0
Files
rowsandall/rowers/credits.py
Sander Roosendaal 8af7ac8af4 commit
2022-02-15 08:05:12 +01:00

46 lines
1.1 KiB
Python

class InsufficientCreditError(Exception):
"""Raised when trying to subtract more than available"""
pass
def upgrade(amount, rower):
if rower.eurocredits > amount: # pragma: no cover
return rower.eurocredits
else:
rower.eurocredits = amount
rower.save()
return rower.eurocredits
return rower.eurocredits # pragma: no cover
def withdraw(amount, rower):
if rower.eurocredits < amount: # pragma: no cover
rower.eurocredits = 0
rower.save()
raise InsufficientCreditError
else:
rower.eurocredits = rower.eurocredits - amount
rower.save()
return rower.eurocredits
return rower.eurocredits # pragma: no cover
def discount(amount, rower): # pragma: no cover
if amount < rower.eurocredits:
return amount
else:
return rower.eurocredits
return 0
def discounted(amount, rower):
if amount > rower.eurocredits: # pragma: no cover
return amount-rower.eurocredits
else:
return 0
return 0 # pragma: no cover