[PATCH 4 of 6] cleanup: replace naked excepts with more specific ones
Brodie Rao
brodie at sf.io
Sat May 12 08:39:33 CDT 2012
# HG changeset patch
# User Brodie Rao <brodie at sf.io>
# Date 1336828931 -7200
# Branch stable
# Node ID e75188c206eebf3cc6c328c77a681ec8aaf344db
# Parent b7953b84a9963227de8dadd94d4b3a18956c09aa
cleanup: replace naked excepts with more specific ones
diff --git a/contrib/setup3k.py b/contrib/setup3k.py
--- a/contrib/setup3k.py
+++ b/contrib/setup3k.py
@@ -26,22 +26,22 @@ else:
try:
import hashlib
sha = hashlib.sha1()
-except:
+except ImportError:
try:
import sha
- except:
+ except ImportError:
raise SystemExit(
"Couldn't import standard hashlib (incomplete Python install).")
try:
import zlib
-except:
+except ImportError:
raise SystemExit(
"Couldn't import standard zlib (incomplete Python install).")
try:
import bz2
-except:
+except ImportError:
raise SystemExit(
"Couldn't import standard bz2 (incomplete Python install).")
diff --git a/hgext/convert/common.py b/hgext/convert/common.py
--- a/hgext/convert/common.py
+++ b/hgext/convert/common.py
@@ -116,10 +116,10 @@ class converter_source(object):
return s.encode("utf-8")
try:
return s.decode(encoding).encode("utf-8")
- except:
+ except UnicodeError:
try:
return s.decode("latin-1").encode("utf-8")
- except:
+ except UnicodeError:
return s.decode(encoding, "replace").encode("utf-8")
def getchangedfiles(self, rev, i):
@@ -333,7 +333,7 @@ class commandline(object):
argmax = 4096
try:
argmax = os.sysconf("SC_ARG_MAX")
- except:
+ except (AttributeError, ValueError):
pass
# Windows shells impose their own limits on command line length,
diff --git a/hgext/convert/cvsps.py b/hgext/convert/cvsps.py
--- a/hgext/convert/cvsps.py
+++ b/hgext/convert/cvsps.py
@@ -706,11 +706,11 @@ def createchangeset(ui, log, fuzz=60, me
if mergeto:
m = mergeto.search(c.comment)
if m:
- try:
+ if m.groups():
m = m.group(1)
if m == 'HEAD':
m = None
- except:
+ else:
m = None # if no group found then merge to HEAD
if m in branches and c.branch != m:
# insert empty changeset for merge
diff --git a/hgext/convert/monotone.py b/hgext/convert/monotone.py
--- a/hgext/convert/monotone.py
+++ b/hgext/convert/monotone.py
@@ -30,7 +30,7 @@ class monotone_source(converter_source,
f = file(path, 'rb')
header = f.read(16)
f.close()
- except:
+ except IOError:
header = ''
if header != 'SQLite format 3\x00':
raise norepo
diff --git a/hgext/convert/subversion.py b/hgext/convert/subversion.py
--- a/hgext/convert/subversion.py
+++ b/hgext/convert/subversion.py
@@ -139,7 +139,7 @@ class logstream(object):
' hg executable is in PATH'))
try:
orig_paths, revnum, author, date, message = entry
- except:
+ except (TypeError, ValueError):
if entry is None:
break
raise util.Abort(_("log stream exception '%s'") % entry)
diff --git a/hgext/gpg.py b/hgext/gpg.py
--- a/hgext/gpg.py
+++ b/hgext/gpg.py
@@ -43,7 +43,7 @@ class gpg(object):
try:
if f:
os.unlink(f)
- except:
+ except OSError:
pass
keys = []
key, fingerprint = None, None
diff --git a/hgext/hgcia.py b/hgext/hgcia.py
--- a/hgext/hgcia.py
+++ b/hgext/hgcia.py
@@ -46,17 +46,14 @@ from mercurial.node import bin, short
from mercurial import cmdutil, patch, templater, util, mail
import email.Parser
-import xmlrpclib
+import socket, xmlrpclib
from xml.sax import saxutils
socket_timeout = 30 # seconds
-try:
+if util.safehasattr(socket, 'setdefaulttimeout'):
# set a timeout for the socket so you don't have to wait so looooong
# when cia.vc is having problems. requires python >= 2.3:
- import socket
socket.setdefaulttimeout(socket_timeout)
-except:
- pass
HGCIA_VERSION = '0.1'
HGCIA_URL = 'http://hg.kublai.com/mercurial/hgcia'
diff --git a/hgext/inotify/server.py b/hgext/inotify/server.py
--- a/hgext/inotify/server.py
+++ b/hgext/inotify/server.py
@@ -355,7 +355,7 @@ class socketlistener(object):
except (OSError, socket.error), inst:
try:
os.unlink(self.realsockpath)
- except:
+ except OSError:
pass
os.rmdir(tempdir)
if inst.errno == errno.EEXIST:
@@ -416,7 +416,7 @@ class socketlistener(object):
# try to send back our version to the client
# this way, the client too is informed of the mismatch
sock.sendall(chr(common.version))
- except:
+ except socket.error:
pass
return
diff --git a/hgext/mq.py b/hgext/mq.py
--- a/hgext/mq.py
+++ b/hgext/mq.py
@@ -1059,7 +1059,7 @@ class queue(object):
patchpath = self.join(patchfn)
try:
os.unlink(patchpath)
- except:
+ except OSError:
self.ui.warn(_('error unlinking %s\n') % patchpath)
raise
self.removeundo(repo)
diff --git a/hgext/patchbomb.py b/hgext/patchbomb.py
--- a/hgext/patchbomb.py
+++ b/hgext/patchbomb.py
@@ -304,7 +304,7 @@ def patchbomb(ui, repo, *revs, **opts):
finally:
try:
os.unlink(tmpfn)
- except:
+ except OSError:
pass
os.rmdir(tmpdir)
diff --git a/hgext/zeroconf/__init__.py b/hgext/zeroconf/__init__.py
--- a/hgext/zeroconf/__init__.py
+++ b/hgext/zeroconf/__init__.py
@@ -44,7 +44,7 @@ def getip():
s.connect(('1.0.0.1', 0))
ip = s.getsockname()[0]
return ip
- except:
+ except socket.error:
pass
# Generic method, sometimes gives useless results
@@ -61,7 +61,7 @@ def getip():
s.connect(('1.0.0.1', 1))
ip = s.getsockname()[0]
return ip
- except:
+ except socket.error:
pass
return dumbip
diff --git a/mercurial/keepalive.py b/mercurial/keepalive.py
--- a/mercurial/keepalive.py
+++ b/mercurial/keepalive.py
@@ -758,7 +758,7 @@ if __name__ == '__main__':
try:
N = int(sys.argv[1])
url = sys.argv[2]
- except:
+ except (IndexError, ValueError):
print "%s <integer> <url>" % sys.argv[0]
else:
test(url, N)
diff --git a/mercurial/sshrepo.py b/mercurial/sshrepo.py
--- a/mercurial/sshrepo.py
+++ b/mercurial/sshrepo.py
@@ -29,6 +29,7 @@ class sshrepository(wireproto.wirereposi
def __init__(self, ui, path, create=False):
self._url = path
self.ui = ui
+ self.pipeo = self.pipei = self.pipee = None
u = util.url(path, parsequery=False, parsefragment=False)
if u.scheme != 'ssh' or not u.host or u.path is None:
@@ -111,15 +112,17 @@ class sshrepository(wireproto.wirereposi
raise exception
def cleanup(self):
+ if self.pipeo is None:
+ return
+ self.pipeo.close()
+ self.pipei.close()
try:
- self.pipeo.close()
- self.pipei.close()
# read the error descriptor until EOF
for l in self.pipee:
self.ui.status(_("remote: "), l)
- self.pipee.close()
- except:
+ except (IOError, ValueError):
pass
+ self.pipee.close()
__del__ = cleanup
diff --git a/mercurial/util.py b/mercurial/util.py
--- a/mercurial/util.py
+++ b/mercurial/util.py
@@ -1079,7 +1079,7 @@ def matchdate(date):
try:
d["d"] = days
return parsedate(date, extendeddateformats, d)[0]
- except:
+ except Abort:
pass
d["d"] = "28"
return parsedate(date, extendeddateformats, d)[0]
diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -23,16 +23,16 @@ else:
try:
import hashlib
sha = hashlib.sha1()
-except:
+except ImportError:
try:
import sha
- except:
+ except ImportError:
raise SystemExit(
"Couldn't import standard hashlib (incomplete Python install).")
try:
import zlib
-except:
+except ImportError:
raise SystemExit(
"Couldn't import standard zlib (incomplete Python install).")
@@ -41,7 +41,7 @@ isironpython = False
try:
isironpython = (platform.python_implementation()
.lower().find("ironpython") != -1)
-except:
+except AttributeError:
pass
if isironpython:
@@ -49,7 +49,7 @@ if isironpython:
else:
try:
import bz2
- except:
+ except ImportError:
raise SystemExit(
"Couldn't import standard bz2 (incomplete Python install).")
diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -860,7 +860,7 @@ def runone(options, test):
tf = open(testpath)
firstline = tf.readline().rstrip()
tf.close()
- except:
+ except IOError:
firstline = ''
lctest = test.lower()
diff --git a/tests/test-check-code-hg.t b/tests/test-check-code-hg.t
--- a/tests/test-check-code-hg.t
+++ b/tests/test-check-code-hg.t
@@ -17,27 +17,12 @@
contrib/setup3k.py:0:
> except:
warning: naked except clause
- contrib/setup3k.py:0:
- > except:
- warning: naked except clause
- contrib/setup3k.py:0:
- > except:
- warning: naked except clause
- warning: naked except clause
- warning: naked except clause
contrib/shrink-revlog.py:0:
> except:
warning: naked except clause
hgext/convert/bzr.py:0:
> except:
warning: naked except clause
- hgext/convert/common.py:0:
- > except:
- warning: naked except clause
- hgext/convert/common.py:0:
- > except:
- warning: naked except clause
- warning: naked except clause
hgext/convert/convcmd.py:0:
> except:
warning: naked except clause
@@ -51,9 +36,6 @@
> ui.write('Parents: %s\n' %
warning: unwrapped ui message
hgext/convert/cvsps.py:0:
- > except:
- warning: naked except clause
- hgext/convert/cvsps.py:0:
> ui.write('Branchpoints: %s \n' % ', '.join(branchpoints))
warning: unwrapped ui message
hgext/convert/cvsps.py:0:
@@ -88,23 +70,11 @@
> except:
warning: naked except clause
hgext/convert/monotone.py:0:
- > except:
- warning: naked except clause
- hgext/convert/monotone.py:0:
> except:
warning: naked except clause
hgext/convert/subversion.py:0:
- > except:
- warning: naked except clause
- hgext/convert/subversion.py:0:
> except:
warning: naked except clause
- hgext/gpg.py:0:
- > except:
- warning: naked except clause
- hgext/hgcia.py:0:
- > except:
- warning: naked except clause
hgext/hgk.py:0:
> ui.write("parent %s\n" % p)
warning: unwrapped ui message
@@ -126,19 +96,12 @@
hgext/hgk.py:0:
> ui.write("tree %s\n" % short(ctx.changeset()[0]))
warning: unwrapped ui message
- hgext/inotify/server.py:0:
- > except:
- warning: naked except clause
- hgext/inotify/server.py:0:
- > except:
- warning: naked except clause
hgext/keyword.py:0:
> ui.note("hg ci -m '%s'\n" % msg)
warning: unwrapped ui message
hgext/mq.py:0:
> except:
warning: naked except clause
- warning: naked except clause
hgext/mq.py:0:
> except:
warning: naked except clause
@@ -152,18 +115,11 @@
> ui.write("mq: %s\n" % ', '.join(m))
warning: unwrapped ui message
hgext/patchbomb.py:0:
- > except:
- warning: naked except clause
- hgext/patchbomb.py:0:
> ui.write('Subject: %s\n' % subj)
warning: unwrapped ui message
hgext/patchbomb.py:0:
> ui.write('From: %s\n' % sender)
warning: unwrapped ui message
- hgext/zeroconf/__init__.py:0:
- > except:
- warning: naked except clause
- warning: naked except clause
mercurial/commands.py:0:
> ui.note('branch %s\n' % data)
warning: unwrapped ui message
@@ -270,9 +226,6 @@
mercurial/keepalive.py:0:
> except:
warning: naked except clause
- mercurial/keepalive.py:0:
- > except:
- warning: naked except clause
mercurial/localrepo.py:0:
> except:
warning: naked except clause
@@ -285,16 +238,10 @@
mercurial/repair.py:0:
> except:
warning: naked except clause
- mercurial/sshrepo.py:0:
- > except:
- warning: naked except clause
mercurial/transaction.py:0:
> except:
warning: naked except clause
mercurial/util.py:0:
- > except:
- warning: naked except clause
- mercurial/util.py:0:
> except:
warning: naked except clause
mercurial/verify.py:0:
@@ -306,24 +253,9 @@
setup.py:0:
> except:
warning: naked except clause
- setup.py:0:
- > except:
- warning: naked except clause
- warning: naked except clause
- setup.py:0:
- > except:
- warning: naked except clause
- warning: naked except clause
- warning: naked except clause
tests/autodiff.py:0:
> ui.write('data lost for: %s\n' % fn)
warning: unwrapped ui message
- tests/run-tests.py:0:
- > except:
- warning: naked except clause
- tests/test-filecache.py:0:
- > except:
- warning: naked except clause
tests/test-ui-color.py:0:
> testui.warn('warning\n')
warning: unwrapped ui message
diff --git a/tests/test-filecache.py b/tests/test-filecache.py
--- a/tests/test-filecache.py
+++ b/tests/test-filecache.py
@@ -78,7 +78,7 @@ def fakeuncacheable():
try:
os.remove('x')
- except:
+ except OSError:
pass
basic(fakerepo())
More information about the Mercurial-devel
mailing list