#!/usr/bin/python
import gps
import sys

tries = 5
try:
    session = gps.gps()
except:
    sys.exit(3)
session.stream(gps.WATCH_ENABLE | gps.WATCH_NEWSTYLE)
for report in session:
    fields = report.keys()
    if "class" in fields:
        if report["class"] == "TPV":
            if "mode" in fields and "lat" in fields and "lon" in fields:
                if report["mode"] == 2 or report["mode"] == 3:
                    print("%s %s" % (report["lat"], report["lon"]))
                    sys.exit(0)
                else:
                    sys.exit(1) # wrong mode
            else:
                tries = tries - 1
                if tries <= 0:
                    sys.exit(2)
                continue # mode, lat or lon missing
            

        # lat lon track alt time

