[FIX] Upgrade the version parser

bzr revid: stephane@tinyerp.com-20081222182729-w1a482m5yq89330d
This commit is contained in:
Stephane Wirtel 2008-12-22 19:27:29 +01:00
parent 611d11e4ee
commit 9070ac9bec
1 changed files with 13 additions and 12 deletions

View File

@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2008 Tiny SPRL (<http://tiny.be>). All Rights Reserved
# $Id$
#
@ -26,7 +26,7 @@
import re
component_re = re.compile(r'(\d+ | [a-z]+ | \.| -)', re.VERBOSE)
replace = {'pre':'c', 'preview':'c','-':'final-','rc':'c','dev':'@'}.get
replace = {'pre':'c', 'preview':'c','-':'final-','_':'final-','rc':'c','dev':'@'}.get
def _parse_version_parts(s):
for part in component_re.split(s):
@ -82,15 +82,16 @@ def parse_version(s):
return tuple(parts)
if __name__ == '__main__':
pvs = []
for v in ('0', '4.2', '4.2.3.4', '5.0.0-alpha', '5.0.0-rc1', '5.0.0-rc1.1', '5.0.0'):
pv = parse_version(v)
print v, pv
pvs.append(pv)
pvs = []
for v in ('0', '4.2', '4.2.3.4', '5.0.0-alpha', '5.0.0-rc1', '5.0.0-rc1.1', '5.0.0_rc2', '5.0.0'):
pv = parse_version(v)
print v, pv
pvs.append(pv)
def cmp(a, b):
assert(a < b)
return b
def cmp(a, b):
print a, b
assert(a < b)
return b
reduce(cmp, pvs)
reduce(cmp, pvs)