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.
|
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
|
from distutils.version import LooseVersion
|
||||||
import logging
|
import logging
|
||||||
import locale
|
import locale
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
from reportlab.graphics.charts.utils import seconds2str
|
||||||
from subprocess import Popen, PIPE
|
from subprocess import Popen, PIPE
|
||||||
import sys
|
import sys
|
||||||
import urllib2
|
import urllib2
|
||||||
@ -277,20 +278,31 @@ def check_latest_version(current_version):
|
|||||||
|
|
||||||
``current_version``
|
``current_version``
|
||||||
The current version of OpenLP.
|
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']
|
version_string = current_version[u'full']
|
||||||
# set to prod in the distribution config file.
|
# set to prod in the distribution config file.
|
||||||
settings = Settings()
|
settings = Settings()
|
||||||
settings.beginGroup(u'general')
|
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()
|
this_test = datetime.now().date()
|
||||||
settings.setValue(u'last version test', this_test)
|
settings.setValue(u'last version test', this_test)
|
||||||
settings.endGroup()
|
settings.endGroup()
|
||||||
if last_test != this_test:
|
if last_test != this_test:
|
||||||
if current_version[u'build']:
|
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:
|
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'])
|
req.add_header(u'User-Agent', u'OpenLP/%s' % current_version[u'full'])
|
||||||
remote_version = None
|
remote_version = None
|
||||||
try:
|
try:
|
||||||
|
Loading…
Reference in New Issue
Block a user