@@ -3129,6 +3129,9 @@ def isDBMSVersionAtLeast(minimum):
31293129 False
31303130 >>> isDBMSVersionAtLeast("1.5")
31313131 True
3132+ >>> kb.dbmsVersion = "MySQL 5.4.3-log4"
3133+ >>> isDBMSVersionAtLeast("5")
3134+ True
31323135 >>> kb.dbmsVersion = popValue()
31333136 """
31343137
@@ -3137,11 +3140,6 @@ def isDBMSVersionAtLeast(minimum):
31373140 if not any (isNoneValue (_ ) for _ in (Backend .getVersion (), minimum )) and Backend .getVersion () != UNKNOWN_DBMS_VERSION :
31383141 version = Backend .getVersion ().replace (" " , "" ).rstrip ('.' )
31393142
3140- if '.' in version :
3141- parts = version .split ('.' , 1 )
3142- parts [1 ] = filterStringValue (parts [1 ], '[0-9]' )
3143- version = '.' .join (parts )
3144-
31453143 correction = 0.0
31463144 if ">=" in version :
31473145 pass
@@ -3150,23 +3148,31 @@ def isDBMSVersionAtLeast(minimum):
31503148 elif '<' in version :
31513149 correction = - VERSION_COMPARISON_CORRECTION
31523150
3153- version = float ( filterStringValue ( version , ' [0-9.]' )) + correction
3151+ version = extractRegexResult ( r"(?P<result> [0-9][0-9.]*)" , version )
31543152
3155- if isinstance ( minimum , six . string_types ) :
3156- if '.' in minimum :
3157- parts = minimum .split ('.' , 1 )
3153+ if version :
3154+ if '.' in version :
3155+ parts = version .split ('.' , 1 )
31583156 parts [1 ] = filterStringValue (parts [1 ], '[0-9]' )
3159- minimum = '.' .join (parts )
3157+ version = '.' .join (parts )
31603158
3161- correction = 0.0
3162- if minimum .startswith (">=" ):
3163- pass
3164- elif minimum .startswith (">" ):
3165- correction = VERSION_COMPARISON_CORRECTION
3159+ version = float (filterStringValue (version , '[0-9.]' )) + correction
3160+
3161+ if isinstance (minimum , six .string_types ):
3162+ if '.' in minimum :
3163+ parts = minimum .split ('.' , 1 )
3164+ parts [1 ] = filterStringValue (parts [1 ], '[0-9]' )
3165+ minimum = '.' .join (parts )
3166+
3167+ correction = 0.0
3168+ if minimum .startswith (">=" ):
3169+ pass
3170+ elif minimum .startswith (">" ):
3171+ correction = VERSION_COMPARISON_CORRECTION
31663172
3167- minimum = float (filterStringValue (minimum , '[0-9.]' )) + correction
3173+ minimum = float (filterStringValue (minimum , '[0-9.]' )) + correction
31683174
3169- retVal = version >= minimum
3175+ retVal = version >= minimum
31703176
31713177 return retVal
31723178
0 commit comments