carom-server/billard/utils.py

55 lines
1.7 KiB
Python
Raw Normal View History

2017-02-10 21:02:07 +01:00
from datetime import datetime
#import models
2017-02-05 17:07:42 +01:00
2017-02-06 21:25:45 +01:00
def get_prize_for(start, end, pph=0):
2017-02-05 17:18:37 +01:00
"""
2017-02-05 17:07:42 +01:00
calculate prize of billard table rental
:param start: start datetime of rental
:param end: end datetime of rental
:param pph: prize per hour of rental
:return: the calculated prize of rental
2017-02-05 17:18:37 +01:00
"""
2017-02-05 17:07:42 +01:00
pps = pph / 3600
time = (end - start).seconds
prize = round((pps * time), 1)
return prize
2017-02-10 21:02:07 +01:00
def process_location_data():
pass
#data = models.LocationData.objects.filter(processed=False)
#for ld in data:
# cli = models.Client.objects.filter(uuid=ld.client_id)
# if cli.count() < 1:
# ld.processed = True
# ld.error_msg = 'No location object found. Stopp processing!'
# ld.save()
# # TODO Send error eMail to Admin
# else:
# cli = cli[0]
# ac = models.Accounting.objects.filter(client=cli, desk_no=ld.table_no).order_by('time_from').reverse()
# if ld.on_off:
# if ac.count() > 0 and ac[0].time_to is None:
# ac[0].time_to = datetime.now()
# ac[0].save()
# # TODO Send error eMail to Admin
# acc = models.Accounting(
# client=cli,
# desk_no=ld.table_no,
# time_from=ld.tst,
# )
# acc.save()
# ld.delete()
# else:
# acc = ac[0]
# acc.time_to = ld.tst
# acc.prize = get_prize_for(
# start=acc.time_from,
# end=ld.tst,
# pph=cli.desk1_prize_ht
# )
# acc.save()
# ld.delete()