Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
def olc_classic(flight, **kwargs):
    return Trace(
        flight=flight,
        contest_type="olc_plus",
        trace_type="classic",
        distance=725123,
        duration=timedelta(hours=6.53),
        times=[
            datetime(2016, 8, 17, 9, 53, 22),
            datetime(2016, 8, 17, 11, 32, 29),
            datetime(2016, 8, 17, 14, 2, 54),
            datetime(2016, 8, 17, 16, 43, 43),
        ],
        locations=[
            Location(51.3, 7.1),
            Location(51.6, 9.3),
            Location(50.2, 5.8),
            Location(51.3, 7.1),
        ],
    ).apply_kwargs(kwargs)
Пример #4
0
def delete_trace(contest_name, trace_name, flight):
    q = Trace.query(
        flight=flight, contest_type=contest_name, trace_type=trace_name)
    q.delete()
Пример #5
0
def delete_trace(contest_name, trace_name, flight):
    q = Trace.query(flight=flight, contest_type=contest_name, trace_type=trace_name)
    q.delete()