summaryrefslogtreecommitdiffstats
path: root/pym/portage/versions.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-09-07 22:39:21 +0000
committerZac Medico <zmedico@gentoo.org>2009-09-07 22:39:21 +0000
commit3ef16d1582246d5da74cdae89aa5d46a8b7005c2 (patch)
treefb0490eab683113fa4280d5c8fc6ab5353526553 /pym/portage/versions.py
parent86a420552e2c940b789b187699896b2203f73153 (diff)
downloadportage-3ef16d1582246d5da74cdae89aa5d46a8b7005c2.tar.gz
portage-3ef16d1582246d5da74cdae89aa5d46a8b7005c2.tar.bz2
portage-3ef16d1582246d5da74cdae89aa5d46a8b7005c2.zip
Reimplement isvalidatom() to use a single regular expression match. Thanks
to Marat Radchenko <marat@slonopotamus.org> for this patch from bug #276813. svn path=/main/trunk/; revision=14213
Diffstat (limited to 'pym/portage/versions.py')
-rw-r--r--pym/portage/versions.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pym/portage/versions.py b/pym/portage/versions.py
index f434ff768..bbea9b7c9 100644
--- a/pym/portage/versions.py
+++ b/pym/portage/versions.py
@@ -5,7 +5,9 @@
import re
-ver_regexp = re.compile("^(cvs\\.)?(\\d+)((\\.\\d+)*)([a-z]?)((_(pre|p|beta|alpha|rc)\\d*)*)(-r(\\d+))?$")
+_version = r'(cvs\.)?(\d+)((\.\d+)*)([a-z]?)((_(pre|p|beta|alpha|rc)\d*)*)(-r(\d+))?'
+
+ver_regexp = re.compile("^" + _version + "$")
suffix_regexp = re.compile("^(alpha|beta|rc|pre|p)(\\d*)$")
suffix_value = {"pre": -2, "p": 0, "alpha": -4, "beta": -3, "rc": -1}
endversion_keys = ["pre", "p", "alpha", "beta", "rc"]