$def with (event, class_results, columns) $ date = event.get('date', '') $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 '{:d}:{:02d}'.format(time // 60, time % 60) $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 '{:d}:{:02d}'.format(time // 60, time % 60) $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]['result'] is not None: $ voided_legs = ranked_results[0]['result'].voided_legs() $if voided_legs: $return ' (Voided legs: ' + ', '.join(voided_legs) + ')' $else: $return ''
Event name: | $event.get('name', '') |
---|---|
Event date: | $(date.isoformat() if date != '' else '') |
$class_.name$voided_legs(ranked_results) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Rank | Name | Club | $if 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(result.get('rank', None), result['not_competing']) | $result.get('first_name', '') $result.get('last_name', '') | $result.get('club', '') | $if columns == []:$format_time_total(result['result'].time, result['result'].status, result['start'].start_time) | $else: $if 'factor' in columns:$'{:1.4f}'.format(result.result.extensions.get('factor', 1)) | $if class_.params.otype == 'score':$format_time(result['result'].time, result['result'].status) | $format_points(result.result.extensions.get('score_controls', None), result['result'].status) | $format_points(result.result.extensions.get('score_overtime', None), result['result'].status) | $format_points_total(result.result.extensions.get('score', None), result['result'].status, result['start'].start_time) | $else:$format_time(result.result.extensions.get('running_time', None), result['result'].status) | $if 'penalties_controls' in columns:$format_time(result.result.extensions.get('penalties_controls', None), result['result'].status) | $if 'penalties_overtime' in columns:$format_time(result.result.extensions.get('penalties_overtime', None), result['result'].status) | $format_time_total(result['result'].time, result['result'].status, result['start'].start_time) |