Use a global to ensure that the valid_category regex is cached.
authorZac Medico <zmedico@gentoo.org>
Thu, 11 Jan 2007 22:21:07 +0000 (22:21 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 11 Jan 2007 22:21:07 +0000 (22:21 -0000)
svn path=/main/trunk/; revision=5574

pym/portage_versions.py

index 7153191671f20ccf54df7bf42ceb1ca9814ffa1a..dffcdd3b14756cddcba135607adc1577d0ee9c63 100644 (file)
@@ -248,6 +248,8 @@ def pkgsplit(mypkg,silent=1):
                pkgcache[mypkg]=None
                return None
 
+_valid_category = re.compile("^\w[\w-]*")
+
 catcache={}
 def catpkgsplit(mydata,silent=1):
        """
@@ -267,7 +269,7 @@ def catpkgsplit(mydata,silent=1):
        """
        
        # Categories may contain a-zA-z0-9+_- but cannot start with -
-       valid_category = re.compile("^\w[\w-]*")
+       global _valid_category
        try:
                if not catcache[mydata]:
                        return None
@@ -280,7 +282,7 @@ def catpkgsplit(mydata,silent=1):
                retval=["null"]
                p_split=pkgsplit(mydata,silent=silent)
        elif len(mysplit)==2:
-               if not valid_category.match(mysplit[0]):
+               if not _valid_category.match(mysplit[0]):
                        raise InvalidData("Invalid category in %s" %mydata )
                retval=[mysplit[0]]
                p_split=pkgsplit(mysplit[1],silent=silent)