add manage command to update geoip db

This commit is contained in:
j 2012-03-04 20:15:47 +01:00
parent c8da81ceb6
commit 5a79659bb3
2 changed files with 27 additions and 9 deletions

View file

@ -116,20 +116,23 @@ def update_static():
image = os.path.join(settings.STATIC_ROOT, 'png/logo%d.png'%size) image = os.path.join(settings.STATIC_ROOT, 'png/logo%d.png'%size)
if not os.path.exists(image): if not os.path.exists(image):
shutil.copyfile(pandora, image) shutil.copyfile(pandora, image)
#download geo data #download geo data
path = os.path.join(settings.GEOIP_PATH, 'GeoLiteCity.dat') update_geoip()
if not os.path.exists(path):
url = 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz'
print 'download', url
ox.net.saveUrl(url, "%s.gz"%path)
os.system('gunzip "%s.gz"' % path)
#poster script #poster script
if not os.path.exists(settings.ITEM_POSTER): if not os.path.exists(settings.ITEM_POSTER):
os.symlink(settings.ITEM_POSTER.replace('poster', 'oxdb_poster'), os.symlink(settings.ITEM_POSTER.replace('poster', 'oxdb_poster'),
settings.ITEM_POSTER) settings.ITEM_POSTER)
def update_geoip(force=False):
path = os.path.join(settings.GEOIP_PATH, 'GeoLiteCity.dat')
if not os.path.exists(path) or force:
url = 'http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz'
print 'download', url
ox.net.saveUrl(url, "%s.gz"%path)
if os.path.exists(path):
os.unlink(path)
os.system('gunzip "%s.gz"' % path)
def init(): def init():
load_config() load_config()
thread.start_new_thread(reloader_thread, ()) thread.start_new_thread(reloader_thread, ())

View file

@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
# vi:si:et:sw=4:sts=4:ts=4
from django.core.management.base import BaseCommand
from ... import config
class Command(BaseCommand):
"""
"""
help = 'update geoip database'
args = ''
def handle(self, **options):
config.update_geoip(True)