[library-web] let version_cmp compare version number parts that wouldn't be numbers
- From: Frederic Peters <fpeters src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [library-web] let version_cmp compare version number parts that wouldn't be numbers
- Date: Wed, 26 Aug 2009 15:04:18 +0000 (UTC)
commit 6052f571c21a8e1e4f692487e1d8ade8a0e91e15
Author: Frédéric Péters <fpeters 0d be>
Date: Wed Aug 26 17:01:50 2009 +0200
let version_cmp compare version number parts that wouldn't be numbers
src/utils.py | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/src/utils.py b/src/utils.py
index 1d6fca6..de43d8b 100644
--- a/src/utils.py
+++ b/src/utils.py
@@ -63,6 +63,12 @@ class FakeTarInfo:
def __repr__(self):
return '<FakeTarInfo \'%s\'>' % self.name
+def tryint(x):
+ try:
+ return int(x)
+ except ValueError:
+ return x
+
def version_cmp(x, y):
# returns < 0 if x < y, 0 if x == y, and > 0 if x > y
if x == 'nightly' and y == 'nightly':
@@ -72,7 +78,7 @@ def version_cmp(x, y):
elif y == 'nightly':
return -1
try:
- return cmp([int(j) for j in x.split('.')], [int(k) for k in y.split('.')])
+ return cmp([tryint(j) for j in x.split('.')], [tryint(k) for k in y.split('.')])
except ValueError:
logging.warning('failure in version_cmp: %r vs %r' % (x, y))
return 0
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]