def save_trace(contest_name, trace_name, node, flight): delete_trace(contest_name, trace_name, flight) if 'turnpoints' not in node: return locations = [] times = [] for turnpoint in node['turnpoints']: location = read_location(turnpoint) time = read_time_of_day(turnpoint, flight) if location is None or time is None: continue locations.append(location) times.append(time) if len(locations) < 2 or len(times) < 2: return trace = Trace() trace.contest_type = contest_name trace.trace_type = trace_name trace.locations = locations trace.times = times if 'duration' in node: trace.duration = datetime.timedelta(seconds=int(node['duration'])) if 'distance' in node: trace.distance = int(node['distance']) flight.traces.append(trace)
def save_trace(contest_name, trace_name, node, flight): delete_trace(contest_name, trace_name, flight) if 'turnpoints' not in node: return locations = [] times = [] for turnpoint in node['turnpoints']: location = read_location(turnpoint['location']) time = read_time_of_day(turnpoint, flight) if location is None or time is None: continue locations.append(location) times.append(time) if len(locations) < 2 or len(times) < 2: return trace = Trace() trace.contest_type = contest_name trace.trace_type = trace_name trace.locations = locations trace.times = times if 'duration' in node: trace.duration = datetime.timedelta(seconds=int(node['duration'])) if 'distance' in node: trace.distance = int(node['distance']) flight.traces.append(trace)