From 7b4ab43e739ddb0be6bb4e5c68328abbe8fb4dd7 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Tue, 21 Aug 2012 07:28:33 +0100 Subject: [PATCH] Fixed handling of ~ in Debian versions --- tests/testdistro.py | 1 + zeroinstall/injector/distro.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/tests/testdistro.py b/tests/testdistro.py index e2187f3..751757c 100755 --- a/tests/testdistro.py +++ b/tests/testdistro.py @@ -265,6 +265,7 @@ class TestDistro(BaseTest): self.assertEqual('20-1', distro.try_cleanup_distro_version('b20_1')) self.assertEqual('17', distro.try_cleanup_distro_version('p17')) self.assertEqual('7-pre3-2.1.1-3', distro.try_cleanup_distro_version('7~u3-2.1.1-3')) # Debian snapshot + self.assertEqual('7-pre3-2.1.1-pre1-1', distro.try_cleanup_distro_version('7~u3-2.1.1~pre1-1ubuntu2')) self.assertEqual(None, distro.try_cleanup_distro_version('cvs')) def testCommand(self): diff --git a/zeroinstall/injector/distro.py b/zeroinstall/injector/distro.py index ec67ff2..183341f 100644 --- a/zeroinstall/injector/distro.py +++ b/zeroinstall/injector/distro.py @@ -115,7 +115,9 @@ def try_cleanup_distro_version(version): version = version.replace('_', '-') if '~' in version: version, suffix = version.split('~', 1) - suffix = '-pre' + try_cleanup_distro_version(suffix) + if suffix.startswith('pre'): + suffix = suffix[3:] + suffix = '-pre' + (try_cleanup_distro_version(suffix) or '') else: suffix = '' match = re.match(_version_regexp, version) -- 2.11.4.GIT