Set the system timezone based on IP geolocation
Python
Latest commit 2ddc73e Feb 21, 2016 @cdown Do not say "geolocation succeeded" in missing tz exception
We now have the option `-t`, which might mean that we actually didn't geolocate
the user at all, but instead the user explicitly requested a timezone that
doesn't exist on the system.

README.rst

Test status Coverage

tzupdate is a fully automated utility to set the system time using geolocation.

Usage

By default, tzupdate will geolocate you, get the timezone for that geolocation, and then attempt to link that timezone to /etc/localtime. You can pass -p to print the detected timezone without linking. You can also pass -a to pass an IP address to use, instead of geolocating you.

$ sudo tzupdate
Detected timezone is Europe/Dublin.
Linked /etc/localtime to /usr/share/zoneinfo/Europe/Dublin.

Installation

To install the latest stable version from PyPi:

pip install -U tzupdate

To install the latest development version directly from GitHub:

pip install -U git+https://github.com/cdown/tzupdate.git@develop

Testing

tox -e quick