Merged from trunk -r14242:14249
authorFabian Groffen <grobian@gentoo.org>
Mon, 14 Sep 2009 07:52:07 +0000 (07:52 -0000)
committerFabian Groffen <grobian@gentoo.org>
Mon, 14 Sep 2009 07:52:07 +0000 (07:52 -0000)
   | 14249   | Simlify the Atom regex. Thanks to Marat Radchenko            |
   | zmedico | <marat@slonopotamus.org> for this patch.                     |

svn path=/main/branches/prefix/; revision=14258

pym/portage/dep.py

index 1e27e882d9c7559465c7abd8f15268c091d7feba..e1f669970ea24cfdce2e24a81c1193429ac7522f 100644 (file)
@@ -549,21 +549,18 @@ class Atom(object):
                        op = m.group(_atom_re.groupindex['op'] + 1)
                        cpv = m.group(_atom_re.groupindex['op'] + 2)
                        cp = m.group(_atom_re.groupindex['op'] + 3)
-                       slot = m.group(_atom_re.groupindex['star'] - 2)
                elif m.group('star'):
                        op = '=*'
                        cpv = m.group(_atom_re.groupindex['star'] + 1)
                        cp = m.group(_atom_re.groupindex['star'] + 2)
-                       slot = m.group(_atom_re.groupindex['simple'] - 2)
                elif m.group('simple'):
                        op = None
                        cpv = cp = m.group(_atom_re.groupindex['simple'] + 1)
-                       slot = m.group(_atom_re.groups - 1)
                else:
                        raise AssertionError("required group not found in atom: '%s'" % s)
                obj_setattr(self, "cp", cp)
                obj_setattr(self, "cpv", cpv)
-               obj_setattr(self, "slot", slot)
+               obj_setattr(self, "slot", m.group(_atom_re.groups - 1))
                obj_setattr(self, "operator", op)
 
                use = dep_getusedeps(s)
@@ -890,11 +887,9 @@ _cpv = '(' + _cp + '-' + _version + ')'
 
 _cpv_re = re.compile('^' + _cpv + '$', re.VERBOSE)
 _atom_re = re.compile('^(?:' +
-       '(?P<op>' + _op + _cpv + _optional_slot + _use + ')|' +
-       '(?P<star>=' + _cpv + r'\*' + _optional_slot + _use + ')|' +
-       '(?P<simple>' + _cp + _optional_slot + _use + ')' +
-       ')$', re.VERBOSE)
-_key_re = re.compile(_cp + '(?:-' + _version + '|' + _slot + '|$)', re.VERBOSE)
+       '(?P<op>' + _op + _cpv + ')|' +
+       '(?P<star>=' + _cpv + r'\*)|' +
+       '(?P<simple>' + _cp + '))' + _optional_slot + _use + '$', re.VERBOSE)
 
 def isvalidatom(atom, allow_blockers=False):
        """