#!/usr/bin/env python2.1 import string import cPickle import os pickle = cPickle log = open('trip.log', 'r') logp = pickle.Unpickler(log) while (1): try: components = logp.load() except: print 'done' break id = components[0] if id == '$GPRMC': (id, time, status, latitude, ns, longitude, ew, speed, course, date, variation, checksum) = components if status != 'A': continue print '%s:%s%s:%s%s %s' % (time, latitude, ns, longitude, ew, speed) lat = float(latitude[:2]) lat = lat + float(latitude[2:]) / 60 if ns == 'S': lat = -lat lon = float(longitude[:3]) lon = lon + float(longitude[3:]) / 60 if ew == 'W': lon = -lon print '%f/%f' % (lat, lon)