$def with (event, class_results, columns) $def format_rank(rank, not_competing: bool) -> str: $if rank is not None: $return str(rank) $elif not_competing: $return 'NC' $else: $return '' $def format_time(time: int, status: ResultStatus) -> str: $if status == ResultStatus.OK and time is not None: $return minutes_seconds(time) $else: $return '' $def format_points(points: float, status: ResultStatus) -> str: $if status == ResultStatus.OK and points is not None: $return '{:.2f}'.format(points) $else: $return '' $def format_time_total(time: int, status: ResultStatus, start_time=None) -> str: $if status == ResultStatus.OK: $return minutes_seconds(time) $elif status == ResultStatus.INACTIVE and start_time is not None: $return 'Start at ' + start_time.strftime('%H:%M:%S') $else: $return MAP_STATUS[status] $def format_points_total(points: float, status: ResultStatus, start_time=None) -> str: $if status == ResultStatus.OK: $return '{:.2f}'.format(points) $elif status == ResultStatus.INACTIVE and start_time is not None: $return 'Start at ' + start_time.strftime('%H:%M:%S') $else: $return MAP_STATUS[status] $def voided_legs(ranked_results): $if ranked_results and ranked_results[0].entry.result is not None: $ voided_legs = ranked_results[0].entry.result.voided_legs() $if voided_legs: $return ' (Voided legs: ' + ', '.join(voided_legs) + ')' $else: $return '' $def f(value) -> str: $return value if value is not None else ''
Event name: | $(event.name if event is not None else '') |
---|---|
Event date: | $(event.date.isoformat() if event is not None else '') |
$class_.name$voided_legs(ranked_results) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Rank | Name | Club | $if not columns:Time | $else: $if 'factor' in columns:Handicap | $if class_.params.otype == 'score':Run time | Score controls | Score overtime | Total score | $else:Run time | $if 'penalties_controls' in columns:Penalty controls | $if 'penalties_overtime' in columns:Penalty overtime | Total time |
$format_rank(ranked_result.rank, entry.not_competing) | $f(entry.first_name) $f(entry.last_name) | $f(entry.club_name) | $if not columns:$format_time_total(result.time, result.status, entry.start.start_time) | $else: $if 'factor' in columns:$'{:1.4f}'.format(result.extensions.get('factor', 1)) | $if class_.params.otype == 'score':$format_time(result.time, result.status) | $format_points(result.extensions.get('score_controls', None), result.status) | $format_points(result.extensions.get('score_overtime', None), result.status) | $format_points_total(result.extensions.get('score', None), result.status, entry.start.start_time) | $else:$format_time(result.extensions.get('running_time', None), result.status) | $if 'penalties_controls' in columns:$format_time(result.extensions.get('penalties_controls', None), result.status) | $if 'penalties_overtime' in columns:$format_time(result.extensions.get('penalties_overtime', None), result.status) | $format_time_total(result.time, result.status, entry.start.start_time) |