comparison mxtool/mx.py @ 8391:d1d486c03e8a

Fix version parsing in mx
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 19 Mar 2013 14:55:58 +0100
parents b246434a3e4a
children 39c7142e7aef
comparison
equal deleted inserted replaced
8390:acc24060b64f 8391:d1d486c03e8a
1059 A Java version as defined in JSR-56 1059 A Java version as defined in JSR-56
1060 """ 1060 """
1061 class JavaVersion: 1061 class JavaVersion:
1062 def __init__(self, versionString): 1062 def __init__(self, versionString):
1063 validChar = '[\x21-\x25\x27-\x29\x2c\x2f-\x5e\x60-\x7f]' 1063 validChar = '[\x21-\x25\x27-\x29\x2c\x2f-\x5e\x60-\x7f]'
1064 separator = '[.-_]' 1064 separator = '[.\-_]'
1065 m = re.match(validChar + '+(' + separator + validChar + '+)*', versionString) 1065 m = re.match(validChar + '+(' + separator + validChar + '+)*', versionString)
1066 assert m is not None, 'not a recognized version string: ' + versionString 1066 assert m is not None, 'not a recognized version string: ' + versionString
1067 self.versionString = versionString; 1067 self.versionString = versionString;
1068 self.parts = versionString.split(separator) 1068 self.parts = [int(f) if f.isdigit() else f for f in re.split(separator, versionString)]
1069 1069
1070 def __str__(self): 1070 def __str__(self):
1071 return self.versionString 1071 return self.versionString
1072 1072
1073 def __cmp__(self, other): 1073 def __cmp__(self, other):