| Index: modules/statsmaster/files/cron_geoipdb_update.py |
| =================================================================== |
| rename from modules/statsmaster/files/cron_geoipdb_update.sh |
| rename to modules/statsmaster/files/cron_geoipdb_update.py |
| --- a/modules/statsmaster/files/cron_geoipdb_update.sh |
| +++ b/modules/statsmaster/files/cron_geoipdb_update.py |
| @@ -1,17 +1,19 @@ |
| -#!/bin/sh |
| +#!/usr/bin/env python |
| -# |
| -# paranoia settings |
| -# |
| -umask 022 |
| +import urllib |
| +import zlib |
| +from StringIO import StringIO |
|
Wladimir Palant
2014/06/17 15:16:21
I already removed that import locally, it's a left
|
| -PATH=/sbin:/bin:/usr/sbin:/usr/bin |
| -export PATH |
| +downloads = { |
| + '/usr/share/GeoIP/GeoIP.dat': 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz', |
| + '/usr/share/GeoIP/GeoIPv6.dat': 'http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz', |
| -wget -q http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz -O /tmp/GeoIP.dat.gz |
| -test -e /tmp/GeoIP.dat.gz && gzip -fd /tmp/GeoIP.dat.gz |
| -test -e /tmp/GeoIP.dat && mv -f /tmp/GeoIP.dat /usr/share/GeoIP/GeoIP.dat |
| + '/usr/share/GeoIP/GeoIPCity.dat': 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz', |
| + '/usr/share/GeoIP/GeoIPCityv6.dat': 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz', |
| +} |
| -wget -q http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz -O /tmp/GeoIPv6.dat.gz |
| -test -e /tmp/GeoIPv6.dat.gz && gzip -fd /tmp/GeoIPv6.dat.gz |
| -test -e /tmp/GeoIPv6.dat && mv -f /tmp/GeoIPv6.dat /usr/share/GeoIP/GeoIPv6.dat |
| +for dest, source in downloads.iteritems(): |
| + data = urllib.urlopen(source).read() |
| + with open(dest, "wb") as f: |
| + # wbit parameter value isn't properly documented, see https://stackoverflow.com/a/22310760/785541 |
| + f.write(zlib.decompress(data, zlib.MAX_WBITS | 16)) |