#!/usr/bin/python import location import gobject from sys import stderr def on_error(control, error, data): stderr.write("location error: %d... quitting" % error) data.quit() def on_changed(device, data): if not device: return if device.fix: if device.fix[1] & location.GPS_DEVICE_TIME_SET: timestamp, accuracy = device.fix[2:4] if accuracy == 0: print "%d" % timestamp data.stop() def on_stop(control, data): data.quit() def start_location(data): data.start() return False method = location.METHOD_USER_SELECTED loop = gobject.MainLoop() control = location.GPSDControl.get_default() device = location.GPSDevice() control.set_properties(preferred_method=method, preferred_interval=location.INTERVAL_DEFAULT) control.connect("error-verbose", on_error, loop) device.connect("changed", on_changed, control) control.connect("gpsd-stopped", on_stop, loop) gobject.idle_add(start_location, control) loop.run()
#!/bin/bash /usr/bin/gnu/date --set "@$(python gps_date.py)" hwclock -r hwclock -w hwclock -r