The form raise Exception, "message" will go away in py3k.
Attached patch updates the usage where this form is used.

---
 DEVELOPING                    |   12 ++++++++++++
 pym/portage/__init__.py       |    6 +++---
 pym/portage/checksum.py       |    2 +-
 pym/portage/dbapi/porttree.py |    6 +++---
 pym/portage/dep.py            |    2 +-
 pym/portage/getbinpkg.py      |   10 +++++-----
 pym/portage/gpg.py            |   26 +++++++++++++-------------
 pym/portage/locks.py          |   10 +++++-----
 8 files changed, 43 insertions(+), 31 deletions(-)

diff --git a/DEVELOPING b/DEVELOPING
index cd9f78f..8286a8b 100644
--- a/DEVELOPING
+++ b/DEVELOPING
@@ -94,6 +94,18 @@ except KeyError:
 
 The get call is nicer (compact) and faster (try,except are slow).
 
+Exceptions
+----------
+
+Don't use the format raise Exception, "string"
+It will be removed in py3k.
+
+YES:
+  raise KeyError("No key")
+
+NO:
+  raise KeyError, "No key"
+
 Imports
 -------
 
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 06193e7..6cba85b 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -169,7 +169,7 @@ def best_from_dict(key, top_dict, key_order, 
EmptyOnError=1, FullCopy=1, AllowEm
        if EmptyOnError:
                return ""
        else:
-               raise KeyError, "Key not found in list; '%s'" % key
+               raise KeyError("Key not found in list; '%s'" % key)
 
 def getcwd():
        "this fixes situations where the current directory doesn't exist"
@@ -1804,14 +1804,14 @@ class config(object):
 
        def modifying(self):
                if self.locked:
-                       raise Exception, "Configuration is locked."
+                       raise Exception("Configuration is locked.")
 
        def backup_changes(self,key=None):
                self.modifying()
                if key and key in self.configdict["env"]:
                        self.backupenv[key] = 
copy.deepcopy(self.configdict["env"][key])
                else:
-                       raise KeyError, "No such key defined in environment: 
%s" % key
+                       raise KeyError("No such key defined in environment: %s" 
% key)
 
        def reset(self,keeping_pkg=0,use_cache=1):
                """
diff --git a/pym/portage/checksum.py b/pym/portage/checksum.py
index 52ce591..32c041a 100644
--- a/pym/portage/checksum.py
+++ b/pym/portage/checksum.py
@@ -186,7 +186,7 @@ def verify_all(filename, mydict, calc_prelink=0, strict=0):
                        myhash = perform_checksum(filename, x, 
calc_prelink=calc_prelink)[0]
                        if mydict[x] != myhash:
                                if strict:
-                                       raise 
portage.exception.DigestException, "Failed to verify '$(file)s' on checksum 
type '%(type)s'" % {"file":filename, "type":x}
+                                       raise 
portage.exception.DigestException("Failed to verify '$(file)s' on checksum type 
'%(type)s'" % {"file":filename, "type":x})
                                else:
                                        file_is_ok = False
                                        reason     = (("Failed on %s 
verification" % x), myhash,mydict[x])
diff --git a/pym/portage/dbapi/porttree.py b/pym/portage/dbapi/porttree.py
index e2a53aa..82e17cf 100644
--- a/pym/portage/dbapi/porttree.py
+++ b/pym/portage/dbapi/porttree.py
@@ -263,11 +263,11 @@ class portdbapi(dbapi):
                                elif self.manifestVerifier:
                                        if not 
self.manifestVerifier.verify(myManifestPath):
                                                # Verification failed the 
desired level.
-                                               raise UntrustedSignature, 
"Untrusted Manifest: %(manifest)s" % {"manifest":myManifestPath}
+                                               raise 
UntrustedSignature("Untrusted Manifest: %(manifest)s" % 
{"manifest":myManifestPath})
 
                                if ("severe" in self.mysettings.features) and \
                                   (mys != 
portage.gpg.fileStats(myManifestPath)):
-                                       raise SecurityViolation, "Manifest 
changed: %(manifest)s" % {"manifest":myManifestPath}
+                                       raise SecurityViolation("Manifest 
changed: %(manifest)s" % {"manifest":myManifestPath})
 
                        except InvalidSignature, e:
                                if ("strict" in self.mysettings.features) or \
@@ -284,7 +284,7 @@ class portdbapi(dbapi):
                        except (OSError, FileNotFound), e:
                                if ("strict" in self.mysettings.features) or \
                                   ("severe" in self.mysettings.features):
-                                       raise SecurityViolation, "Error in 
verification of signatures: %(errormsg)s" % {"errormsg":str(e)}
+                                       raise SecurityViolation("Error in 
verification of signatures: %(errormsg)s" % {"errormsg":str(e)})
                                writemsg("!!! Manifest is missing or 
inaccessable: %(manifest)s\n" % {"manifest":myManifestPath},
                                        noiselevel=-1)
 
diff --git a/pym/portage/dep.py b/pym/portage/dep.py
index 41d6b12..c2f506d 100644
--- a/pym/portage/dep.py
+++ b/pym/portage/dep.py
@@ -246,7 +246,7 @@ def use_reduce(deparray, uselist=[], masklist=[], 
matchall=0, excludeall=[]):
                                        if mydeparray:
                                                
newdeparray.append(mydeparray.pop(0))
                                        else:
-                                               raise ValueError, "Conditional 
with no target."
+                                               raise ValueError("Conditional 
with no target.")
 
                                # Deprecation checks
                                warned = 0
diff --git a/pym/portage/getbinpkg.py b/pym/portage/getbinpkg.py
index 412d753..7b1ce7e 100644
--- a/pym/portage/getbinpkg.py
+++ b/pym/portage/getbinpkg.py
@@ -82,7 +82,7 @@ def create_conn(baseurl,conn=None):
 
        parts = baseurl.split("://",1)
        if len(parts) != 2:
-               raise ValueError, "Provided URL does not contain protocol 
identifier. '%s'" % baseurl
+               raise ValueError("Provided URL does not contain protocol 
identifier. '%s'" % baseurl)
        protocol,url_parts = parts
        del parts
 
@@ -104,7 +104,7 @@ def create_conn(baseurl,conn=None):
        del userpass_host
 
        if len(userpass) > 2:
-               raise ValueError, "Unable to interpret username/password 
provided."
+               raise ValueError("Unable to interpret username/password 
provided.")
        elif len(userpass) == 2:
                username = userpass[0]
                password = userpass[1]
@@ -323,7 +323,7 @@ def dir_get_list(baseurl,conn=None):
        elif protocol == "sftp":
                listing = conn.listdir(address)
        else:
-               raise TypeError, "Unknown protocol. '%s'" % protocol
+               raise TypeError("Unknown protocol. '%s'" % protocol)
 
        if not keepconnection:
                conn.close()
@@ -355,7 +355,7 @@ def file_get_metadata(baseurl,conn=None, chunk_size=3000):
                finally:
                        f.close()
        else:
-               raise TypeError, "Unknown protocol. '%s'" % protocol
+               raise TypeError("Unknown protocol. '%s'" % protocol)
        
        if data:
                xpaksize = portage.xpak.decodeint(data[-8:-4])
@@ -447,7 +447,7 @@ def file_get_lib(baseurl,dest,conn=None):
                        finally:
                                f.close()
        else:
-               raise TypeError, "Unknown protocol. '%s'" % protocol
+               raise TypeError("Unknown protocol. '%s'" % protocol)
        
        if not keepconnection:
                conn.close()
diff --git a/pym/portage/gpg.py b/pym/portage/gpg.py
index 1fdac62..47a2b77 100644
--- a/pym/portage/gpg.py
+++ b/pym/portage/gpg.py
@@ -42,22 +42,22 @@ class FileChecker(object):
                if (keydir != None):
                        # Verify that the keydir is valid.
                        if type(keydir) != types.StringType:
-                               raise portage.exception.InvalidDataType, 
"keydir argument: %s" % keydir
+                               raise portage.exception.InvalidDataType("keydir 
argument: %s" % keydir)
                        if not os.path.isdir(keydir):
-                               raise portage.exception.DirectoryNotFound, 
"keydir: %s" % keydir
+                               raise 
portage.exception.DirectoryNotFound("keydir: %s" % keydir)
                        self.keydir = copy.deepcopy(keydir)
 
                if (keyring != None):
                        # Verify that the keyring is a valid filename and 
exists.
                        if type(keyring) != types.StringType:
-                               raise portage.exception.InvalidDataType, 
"keyring argument: %s" % keyring
+                               raise 
portage.exception.InvalidDataType("keyring argument: %s" % keyring)
                        if keyring.find("/") != -1:
-                               raise portage.exception.InvalidData, "keyring: 
%s" % keyring
+                               raise portage.exception.InvalidData("keyring: 
%s" % keyring)
                        pathname = ""
                        if keydir:
                                pathname = keydir + "/" + keyring
                        if not os.path.isfile(pathname):
-                               raise portage.exception.FileNotFound, "keyring 
missing: %s (dev.gentoo.org/~carpaski/gpg/)" % pathname
+                               raise portage.exception.FileNotFound("keyring 
missing: %s (dev.gentoo.org/~carpaski/gpg/)" % pathname)
 
                keyringPath = keydir+"/"+keyring
 
@@ -69,7 +69,7 @@ class FileChecker(object):
                if not self.verify(keyringPath, keyringPath+".asc"):
                        self.keyringIsTrusted = False
                        if requireSignedRing:
-                               raise portage.exception.InvalidSignature, 
"Required keyring verification: "+keyringPath
+                               raise 
portage.exception.InvalidSignature("Required keyring verification: 
"+keyringPath)
                else:
                        self.keyringIsTrusted = True
                
@@ -81,7 +81,7 @@ class FileChecker(object):
                if self.keyringStats and self.keyringPath:
                        new_stats = fileStats(self.keyringPath)
                        if new_stats != self.keyringStats:
-                               raise portage.exception.SecurityViolation, "GPG 
keyring changed!"
+                               raise portage.exception.SecurityViolation("GPG 
keyring changed!")
 
        def verify(self, filename, sigfile=None):
                """Uses minimumTrust to determine if it is Valid/True or 
Invalid/False"""
@@ -119,7 +119,7 @@ class FileChecker(object):
                result = (result >> 8)
        
                if signal:
-                       raise SignalCaught, "Signal: %d" % (signal)
+                       raise SignalCaught("Signal: %d" % (signal))
        
                trustLevel     = UNTRUSTED
                if result == 0:
@@ -127,22 +127,22 @@ class FileChecker(object):
                        #if portage.output.find("WARNING") != -1:
                        #       trustLevel = MARGINAL
                        if portage.output.find("BAD") != -1:
-                               raise portage.exception.InvalidSignature, 
filename
+                               raise 
portage.exception.InvalidSignature(filename)
                elif result == 1:
                        trustLevel   = EXISTS
                        if portage.output.find("BAD") != -1:
-                               raise portage.exception.InvalidSignature, 
filename
+                               raise 
portage.exception.InvalidSignature(filename)
                elif result == 2:
                        trustLevel   = UNTRUSTED
                        if portage.output.find("could not be verified") != -1:
-                               raise portage.exception.MissingSignature, 
filename
+                               raise 
portage.exception.MissingSignature(filename)
                        if portage.output.find("public key not found") != -1:
                                if self.keyringIsTrusted: # We trust the ring, 
but not the key specifically.
                                        trustLevel = MARGINAL
                                else:
-                                       raise 
portage.exception.InvalidSignature, filename+" (Unknown Signature)"
+                                       raise 
portage.exception.InvalidSignature(filename+"(Unknown Signature)")
                else:
-                       raise portage.exception.UnknownCondition, "GPG returned 
unknown result: %d" % (result)
+                       raise portage.exception.UnknownCondition("GPG returned 
unknown result: %d" % (result))
        
                if trustLevel >= self.minimumTrust:
                        return True
diff --git a/pym/portage/locks.py b/pym/portage/locks.py
index 2798044..2557597 100644
--- a/pym/portage/locks.py
+++ b/pym/portage/locks.py
@@ -23,7 +23,7 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0, 
waiting_msg=None):
        import fcntl
 
        if not mypath:
-               raise InvalidData, "Empty path given"
+               raise InvalidData("Empty path given")
 
        if type(mypath) == types.StringType and mypath[-1] == '/':
                mypath = mypath[:-1]
@@ -44,7 +44,7 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0, 
waiting_msg=None):
        
        if type(mypath) == types.StringType:
                if not os.path.exists(os.path.dirname(mypath)):
-                       raise DirectoryNotFound, os.path.dirname(mypath)
+                       raise DirectoryNotFound(os.path.dirname(mypath))
                if not os.path.exists(lockfilename):
                        old_mask=os.umask(000)
                        myfd = os.open(lockfilename, os.O_CREAT|os.O_RDWR,0660)
@@ -65,7 +65,7 @@ def lockfile(mypath, wantnewlockfile=0, unlinkfile=0, 
waiting_msg=None):
                myfd = mypath
 
        else:
-               raise ValueError, "Unknown type passed in '%s': '%s'" % 
(type(mypath),mypath)
+               raise ValueError("Unknown type passed in '%s': '%s'" % 
(type(mypath),mypath))
 
        # try for a non-blocking lock, if it's held, throw a message
        # we're waiting on lockfile and use a blocking attempt.
@@ -165,7 +165,7 @@ def unlockfile(mytuple):
        except OSError:
                if type(lockfilename) == types.StringType:
                        os.close(myfd)
-               raise IOError, "Failed to unlock file '%s'\n" % lockfilename
+               raise IOError("Failed to unlock file '%s'\n" % lockfilename)
 
        try:
                # This sleep call was added to allow other processes that are
@@ -230,7 +230,7 @@ def hardlink_lockfile(lockfilename, max_wait=14400):
                os.close(myfd)
        
                if not os.path.exists(myhardlock):
-                       raise FileNotFound, _("Created lockfile is missing: 
%(filename)s") % {"filename":myhardlock}
+                       raise FileNotFound(_("Created lockfile is missing: 
%(filename)s") % {"filename":myhardlock})
 
                try:
                        res = os.link(myhardlock, lockfilename)
-- 
1.5.6.1

-- 
gentoo-portage-dev@lists.gentoo.org mailing list

Reply via email to