X-Git-Url: https://git.openstreetmap.org./osqa.git/blobdiff_plain/c19bc0ba42a30c350e28b5edf1482ece065765a0..1157280cd8ff44da57a37dfc2f5920e53180f6b4:/forum_modules/updates/base.py diff --git a/forum_modules/updates/base.py b/forum_modules/updates/base.py index 2303152..fe7a003 100644 --- a/forum_modules/updates/base.py +++ b/forum_modules/updates/base.py @@ -1,3 +1,5 @@ +# -*- coding: utf-8 -*- + import os import sys import platform @@ -16,9 +18,8 @@ import logging from xml.dom.minidom import parse, parseString from forum.base import get_database_engine from forum.models import Question, Answer, Comment, User -from forum.settings import APP_URL, SVN_REVISION, APP_TITLE, APP_DESCRIPTION +from forum.settings import APP_URL, VCS_REVISION, APP_TITLE, APP_DESCRIPTION from django import VERSION as DJANGO_VERSION -from django.utils import simplejson from django.utils.html import escape from django.utils.encoding import smart_unicode from django.conf import settings as django_settings @@ -80,7 +81,7 @@ def get_admin_emails(): def check_for_updates(): # Get the SVN Revision try: - svn_revision = int(SVN_REVISION.replace('SVN-', '')) + svn_revision = int(VCS_REVISION.replace('SVN-', '')) except ValueError: # Here we'll have to find another way of getting the SVN revision svn_revision = 0 @@ -92,7 +93,7 @@ def check_for_updates(): database_type = get_database_engine() - statistics = """ + statistics = u""" @@ -129,6 +130,7 @@ def check_for_updates(): } # Compress the statistics XML dump + statistics = statistics.encode('ascii', 'xmlcharrefreplace') statistics_compressed = bz2.compress(statistics) # Pass the compressed statistics to the update server @@ -175,7 +177,10 @@ def update_trigger(): # Trigger the update process now = datetime.datetime.now() if (now - settings.LATEST_UPDATE_DATETIME) > datetime.timedelta(days=1): - update_status = check_for_updates() - - logging.error(smart_unicode("Update process has been triggered: %s" % update_status)) - settings.LATEST_UPDATE_DATETIME.set_value(now) + try: + update_status = check_for_updates() + logging.log(logging.INFO, smart_unicode("Update process has been triggered: %s" % update_status)) + except Exception, e: + logging.errror(smart_unicode(e)) + finally: + settings.LATEST_UPDATE_DATETIME.set_value(now)