def format_phase(phase): """Format phase properties to human readable format """ is_circling = phase.phase_type == FlightPhase.PT_CIRCLING r = dict(start="%s" % format_time(phase.start_time), fraction="%d%%" % phase.fraction if phase.fraction is not None else "", speed=units.format_speed(phase.speed) if phase.speed is not None else "", vario=units.format_lift(phase.vario), alt_diff=units.format_altitude(phase.alt_diff), count=phase.count, duration=phase.duration, is_circling=is_circling, type=PHASETYPE_NAMES[phase.phase_type], circling_direction="", distance="", glide_rate="") if not is_circling: r['distance'] = units.format_distance(phase.distance, 1) # Sensible glide rate values are formatted as numbers. Others are shown # as infinity symbol. if abs(phase.alt_diff) > 0 and abs(phase.glide_rate) < 1000: r['glide_rate'] = format_number(phase.glide_rate) else: r['glide_rate'] = u'\u221e' # infinity else: r['circling_direction'] = CIRCDIR_NAMES[phase.circling_direction] return r
def format_phase(phase): """Format phase properties to human readable format """ is_circling = phase.phase_type == FlightPhase.PT_CIRCLING r = dict(start="%s" % format_time(phase.start_time), fraction="%d%%" % phase.fraction if phase.fraction else "", speed=units.format_speed(float(phase.speed)) if phase.speed else "", vario=units.format_lift(phase.vario), alt_diff=units.format_altitude(phase.alt_diff), count=phase.count, duration=phase.duration, is_circling=is_circling, type=PHASETYPE_NAMES[phase.phase_type], circling_direction="", distance="", glide_rate="") if not is_circling: r['distance'] = units.format_distance(phase.distance) r['glide_rate'] = format_number(phase.glide_rate) else: r['circling_direction'] = CIRCDIR_NAMES[phase.circling_direction] return r