forked from openlp/openlp
Expand the version checking to include nightlies, development releases and stable releases.
bzr-revno: 2144
This commit is contained in:
commit
684fef9d8b
@ -1 +1 @@
|
||||
2.0
|
||||
2.1.0-bzr2141
|
||||
|
@ -29,12 +29,13 @@
|
||||
"""
|
||||
The :mod:`openlp.core.utils` module provides the utility libraries for OpenLP.
|
||||
"""
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
from distutils.version import LooseVersion
|
||||
import logging
|
||||
import locale
|
||||
import os
|
||||
import re
|
||||
from reportlab.graphics.charts.utils import seconds2str
|
||||
from subprocess import Popen, PIPE
|
||||
import sys
|
||||
import urllib2
|
||||
@ -277,20 +278,31 @@ def check_latest_version(current_version):
|
||||
|
||||
``current_version``
|
||||
The current version of OpenLP.
|
||||
|
||||
**Rules around versions and version files:**
|
||||
|
||||
* If a version number has a build (i.e. -bzr1234), then it is a nightly.
|
||||
* If a version number's minor version is an odd number, it is a development release.
|
||||
* If a version number's minor version is an even number, it is a stable release.
|
||||
"""
|
||||
version_string = current_version[u'full']
|
||||
# set to prod in the distribution config file.
|
||||
settings = Settings()
|
||||
settings.beginGroup(u'general')
|
||||
last_test = settings.value(u'last version test', datetime.now().date())
|
||||
# This defaults to yesterday in order to force the update check to run when you've never run it before.
|
||||
last_test = settings.value(u'last version test', datetime.now().date() - timedelta(days=1))
|
||||
this_test = datetime.now().date()
|
||||
settings.setValue(u'last version test', this_test)
|
||||
settings.endGroup()
|
||||
if last_test != this_test:
|
||||
if current_version[u'build']:
|
||||
req = urllib2.Request(u'http://www.openlp.org/files/dev_version.txt')
|
||||
req = urllib2.Request(u'http://www.openlp.org/files/nightly_version.txt')
|
||||
else:
|
||||
req = urllib2.Request(u'http://www.openlp.org/files/version.txt')
|
||||
version_parts = current_version[u'version'].split(u'.')
|
||||
if int(version_parts[1]) % 2 != 0:
|
||||
req = urllib2.Request(u'http://www.openlp.org/files/dev_version.txt')
|
||||
else:
|
||||
req = urllib2.Request(u'http://www.openlp.org/files/version.txt')
|
||||
req.add_header(u'User-Agent', u'OpenLP/%s' % current_version[u'full'])
|
||||
remote_version = None
|
||||
try:
|
||||
|
Loading…
Reference in New Issue
Block a user