Skip to content

Commit f54d979

Browse files
committedJun 10, 2013
[Plugin Manager] Maximum major, minor and bugfix version is 99.99.99. Be consistent with this constraint.
1 parent 3361d85 commit f54d979

File tree

4 files changed

+25
-36
lines changed

4 files changed

+25
-36
lines changed
 

‎python/pyplugin_installer/installer_data.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -618,7 +618,7 @@ def pluginMetadata(fct):
618618
qgisMinimumVersion = pluginMetadata("qgisMinimumVersion").strip()
619619
if not qgisMinimumVersion: qgisMinimumVersion = "0"
620620
qgisMaximumVersion = pluginMetadata("qgisMaximumVersion").strip()
621-
if not qgisMaximumVersion: qgisMaximumVersion = qgisMinimumVersion[0] + ".999"
621+
if not qgisMaximumVersion: qgisMaximumVersion = qgisMinimumVersion[0] + ".99"
622622
#if compatible, add the plugin to the list
623623
if not isCompatible(QGis.QGIS_VERSION, qgisMinimumVersion, qgisMaximumVersion):
624624
error = "incompatible"

‎python/pyplugin_installer/version_compare.py

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -121,21 +121,9 @@ def compareVersions(a,b):
121121
b = normalizeVersion(b)
122122
if a == b:
123123
return 0
124-
# convert the strings to the lists
124+
# convert the strings to lists
125125
v1 = chopString(a)
126126
v2 = chopString(b)
127-
128-
# !! ensure the version contains at least 3 segments. Fill to "x.y.z with "999" segments if needed.
129-
# 999 must me unicode because of isnumeric method used.
130-
if len(v1) == 2:
131-
v1 += [u"999"]
132-
elif len(v1) == 1:
133-
v1 += [u"999",u"999"]
134-
if len(v2) == 2:
135-
v2 += [u"999"]
136-
elif len(v2) == 1:
137-
v2 += [u"999",u"999"]
138-
139127
# set the shorter string as a base
140128
l = len(v1)
141129
if l > len(v2):
@@ -159,9 +147,10 @@ def compareVersions(a,b):
159147

160148

161149

162-
163-
164-
## COMPARE CURRENT QGIS VERSION WITH qgisMinimumVersion AND qgisMaximumVersion """
150+
"""
151+
COMPARE CURRENT QGIS VERSION WITH qgisMinimumVersion AND qgisMaximumVersion
152+
ALLOWED FORMATS ARE: major.minor OR major.minor.bugfix, where each segment must be 0..99
153+
"""
165154

166155
def splitVersion(s):
167156
""" split string into 2 or 3 numerical segments """
@@ -171,7 +160,7 @@ def splitVersion(s):
171160
for c in l:
172161
if not c.isnumeric():
173162
return None
174-
if int(c)>999:
163+
if int(c)>99:
175164
return None
176165
if len(l) not in [2,3]:
177166
return None
@@ -188,7 +177,7 @@ def isCompatible(curVer, minVer, maxVer=None):
188177
return False
189178

190179
if not maxVer:
191-
maxVer = [minVer[0], "999", "999"]
180+
maxVer = [minVer[0], "99", "99"]
192181

193182
if len(minVer)<3:
194183
minVer += ["0"]
@@ -197,10 +186,10 @@ def isCompatible(curVer, minVer, maxVer=None):
197186
curVer += ["0"]
198187

199188
if len(maxVer)<3:
200-
maxVer += ["999"]
189+
maxVer += ["99"]
201190

202-
minVer = "%03d%03d%03d" % ( int(minVer[0]), int(minVer[1]), int(minVer[2]) )
203-
maxVer = "%03d%03d%03d" % ( int(maxVer[0]), int(maxVer[1]), int(maxVer[2]) )
204-
curVer = "%03d%03d%03d" % ( int(curVer[0]), int(curVer[1]), int(curVer[2]) )
191+
minVer = "%02d%02d%02d" % ( int(minVer[0]), int(minVer[1]), int(minVer[2]) )
192+
maxVer = "%02d%02d%02d" % ( int(maxVer[0]), int(maxVer[1]), int(maxVer[2]) )
193+
curVer = "%02d%02d%02d" % ( int(curVer[0]), int(curVer[1]), int(curVer[2]) )
205194

206195
return ( minVer <= curVer and maxVer >= curVer)

‎src/app/qgspluginregistry.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -207,11 +207,11 @@ bool QgsPluginRegistry::checkQgisVersion( QString minVersion, QString maxVersion
207207
}
208208

209209
// Parse qgisMaxVersion. Must be in form x.y.z or just x.y
210-
int maxVerMajor, maxVerMinor, maxVerBugfix = 999;
210+
int maxVerMajor, maxVerMinor, maxVerBugfix = 99;
211211
if ( maxVersion.isEmpty() || maxVersion == "__error__" )
212212
{
213213
maxVerMajor = minVerMajor;
214-
maxVerMinor = 999;
214+
maxVerMinor = 99;
215215
}
216216
else
217217
{
@@ -252,16 +252,16 @@ bool QgsPluginRegistry::checkQgisVersion( QString minVersion, QString maxVersion
252252
int qgisMinor = qgisVersionParts.at( 1 ).toInt();
253253
int qgisBugfix = qgisVersionParts.at( 2 ).toInt();
254254

255-
// build strings with trailing zeroes
256-
QString minVer = QString( "%1%2%3" ).arg( minVerMajor, 3, 10, QChar( '0' ) )
257-
.arg( minVerMinor, 3, 10, QChar( '0' ) )
258-
.arg( minVerBugfix, 3, 10, QChar( '0' ) );
259-
QString maxVer = QString( "%1%2%3" ).arg( maxVerMajor, 3, 10, QChar( '0' ) )
260-
.arg( maxVerMinor, 3, 10, QChar( '0' ) )
261-
.arg( maxVerBugfix, 3, 10, QChar( '0' ) );
262-
QString curVer = QString( "%1%2%3" ).arg( qgisMajor, 3, 10, QChar( '0' ) )
263-
.arg( qgisMinor, 3, 10, QChar( '0' ) )
264-
.arg( qgisBugfix, 3, 10, QChar( '0' ) );
255+
// build XxYyZz strings with trailing zeroes if needed
256+
QString minVer = QString( "%1%2%3" ).arg( minVerMajor, 2, 10, QChar( '0' ) )
257+
.arg( minVerMinor, 2, 10, QChar( '0' ) )
258+
.arg( minVerBugfix, 2, 10, QChar( '0' ) );
259+
QString maxVer = QString( "%1%2%3" ).arg( maxVerMajor, 2, 10, QChar( '0' ) )
260+
.arg( maxVerMinor, 2, 10, QChar( '0' ) )
261+
.arg( maxVerBugfix, 2, 10, QChar( '0' ) );
262+
QString curVer = QString( "%1%2%3" ).arg( qgisMajor, 2, 10, QChar( '0' ) )
263+
.arg( qgisMinor, 2, 10, QChar( '0' ) )
264+
.arg( qgisBugfix, 2, 10, QChar( '0' ) );
265265

266266
// compare
267267
return ( minVer <= curVer && maxVer >= curVer);

‎src/app/qgspluginregistry.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ class QgsPluginRegistry
103103
bool checkPythonPlugin( QString packageName );
104104

105105
//! Check current QGIS version against requested minimal and optionally maximal QGIS version
106-
//! if maxVersion not specified, the default value is assumed: floor(minVersion) + 0.999.999
106+
//! if maxVersion not specified, the default value is assumed: floor(minVersion) + 0.99.99
107107
bool checkQgisVersion( QString minVersion, QString maxVersion = "" );
108108

109109
private:

0 commit comments

Comments
 (0)
Please sign in to comment.