You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@allura.apache.org by ke...@apache.org on 2020/08/10 12:57:26 UTC
[allura] 01/03: [#8373] B001 Do not use bare `except:`,
it also catches unexpected events like memory errors, interrupts,
system exit, and so on
This is an automated email from the ASF dual-hosted git repository.
kentontaylor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/allura.git
commit 0ac7c0840cfca26328c954aac08b31bdaf90cb4e
Author: Dave Brondsema <da...@brondsema.net>
AuthorDate: Fri Jul 31 14:35:04 2020 -0400
[#8373] B001 Do not use bare `except:`, it also catches unexpected events like memory errors, interrupts, system exit, and so on
---
Allura/allura/command/show_models.py | 2 +-
Allura/allura/command/taskd.py | 2 +-
Allura/allura/config/app_cfg.py | 2 +-
Allura/allura/controllers/site_admin.py | 2 +-
Allura/allura/lib/helpers.py | 2 +-
Allura/allura/lib/mail_util.py | 2 +-
Allura/allura/lib/patches.py | 2 +-
Allura/allura/lib/plugin.py | 63 +++++++++++-----------
Allura/allura/lib/validators.py | 8 +--
Allura/allura/model/artifact.py | 2 +-
Allura/allura/model/auth.py | 2 +-
Allura/allura/model/index.py | 2 +-
Allura/allura/model/notification.py | 10 ++--
Allura/allura/model/session.py | 2 +-
Allura/allura/scripts/refresh_last_commits.py | 2 +-
Allura/allura/scripts/refreshrepo.py | 2 +-
Allura/allura/tasks/event_tasks.py | 2 +-
Allura/allura/tasks/export_tasks.py | 2 +-
Allura/allura/tasks/mail_tasks.py | 4 +-
Allura/allura/tasks/repo_tasks.py | 2 +-
Allura/allura/tests/test_tasks.py | 2 +-
Allura/allura/webhooks.py | 2 +-
Allura/allura/websetup/bootstrap.py | 4 +-
AlluraTest/alluratest/controller.py | 2 +-
ForgeDiscussion/forgediscussion/forum_main.py | 2 +-
ForgeDiscussion/forgediscussion/import_support.py | 2 +-
ForgeGit/forgegit/model/git_repo.py | 4 +-
ForgeGit/forgegit/tests/functional/test_auth.py | 2 +-
ForgeSVN/forgesvn/model/svn.py | 2 +-
ForgeTracker/forgetracker/import_support.py | 2 +-
ForgeTracker/forgetracker/model/ticket.py | 2 +-
ForgeTracker/forgetracker/tracker_main.py | 2 +-
fuse/accessfs.py | 2 +-
.../032-subscribe-merge-request-submitters.py | 2 +-
scripts/teamforge-import.py | 6 +--
scripts/wiki-copy.py | 2 +-
36 files changed, 77 insertions(+), 80 deletions(-)
diff --git a/Allura/allura/command/show_models.py b/Allura/allura/command/show_models.py
index b1bed1f..f4623de 100644
--- a/Allura/allura/command/show_models.py
+++ b/Allura/allura/command/show_models.py
@@ -131,7 +131,7 @@ class ReindexCommand(base.Command):
try:
M.ArtifactReference.from_artifact(a)
M.Shortlink.from_artifact(a)
- except:
+ except Exception:
base.log.exception(
'Making ArtifactReference/Shortlink from %s', a)
continue
diff --git a/Allura/allura/command/taskd.py b/Allura/allura/command/taskd.py
index 908a45e..1f5ec78 100644
--- a/Allura/allura/command/taskd.py
+++ b/Allura/allura/command/taskd.py
@@ -51,7 +51,7 @@ def proctitle(title):
setproctitle(title)
yield
setproctitle(orig_title)
- except:
+ except Exception:
setproctitle(orig_title)
raise
diff --git a/Allura/allura/config/app_cfg.py b/Allura/allura/config/app_cfg.py
index f795f2c..58f3a75 100644
--- a/Allura/allura/config/app_cfg.py
+++ b/Allura/allura/config/app_cfg.py
@@ -93,7 +93,7 @@ class AlluraJinjaRenderer(JinjaRenderer):
elif cache_type == 'filesystem':
from jinja2 import FileSystemBytecodeCache
bcc = FileSystemBytecodeCache(pattern='__jinja2_{}_%s.cache'.format(jinja2.__version__))
- except:
+ except Exception:
log.exception("Error encountered while setting up a" +
" %s-backed bytecode cache for Jinja" % cache_type)
return bcc
diff --git a/Allura/allura/controllers/site_admin.py b/Allura/allura/controllers/site_admin.py
index 23e1398..530297b 100644
--- a/Allura/allura/controllers/site_admin.py
+++ b/Allura/allura/controllers/site_admin.py
@@ -164,7 +164,7 @@ class SiteAdminController(object):
try:
ok = self.subscribe_artifact(url, user)
- except:
+ except Exception:
log.warn("Can't subscribe to artifact", exc_info=True)
ok = False
diff --git a/Allura/allura/lib/helpers.py b/Allura/allura/lib/helpers.py
index 6b29822..1bcff39 100644
--- a/Allura/allura/lib/helpers.py
+++ b/Allura/allura/lib/helpers.py
@@ -685,7 +685,7 @@ def twophase_transaction(*engines):
to_rollback.append(txn)
for txn in txns:
txn.commit()
- except:
+ except Exception:
for txn in to_rollback:
txn.rollback()
raise
diff --git a/Allura/allura/lib/mail_util.py b/Allura/allura/lib/mail_util.py
index bdde46c..9d61333 100644
--- a/Allura/allura/lib/mail_util.py
+++ b/Allura/allura/lib/mail_util.py
@@ -295,7 +295,7 @@ class SMTPClient(object):
config.return_path,
smtp_addrs,
content)
- except:
+ except Exception:
self._connect()
self._client.sendmail(
config.return_path,
diff --git a/Allura/allura/lib/patches.py b/Allura/allura/lib/patches.py
index 9f4e5fa..7080fa4 100644
--- a/Allura/allura/lib/patches.py
+++ b/Allura/allura/lib/patches.py
@@ -43,7 +43,7 @@ def apply():
'''Wrapper to handle totally borked-up HTTP-ACCEPT headers'''
try:
return old_lookup_template_engine(self, request)
- except:
+ except Exception:
pass
environ = dict(request.environ, HTTP_ACCEPT='*/*')
request = webob.Request(environ)
diff --git a/Allura/allura/lib/plugin.py b/Allura/allura/lib/plugin.py
index 2a804f0..821a3f6 100644
--- a/Allura/allura/lib/plugin.py
+++ b/Allura/allura/lib/plugin.py
@@ -665,39 +665,36 @@ class LdapAuthenticationProvider(AuthenticationProvider):
# full registration into LDAP
uid = str(M.AuthGlobals.get_next_uid()).encode('utf-8')
+ con = ldap_conn()
+ uname = user_doc['username'].encode('utf-8')
+ display_name = user_doc['display_name'].encode('utf-8')
+ ldif_u = modlist.addModlist(dict(
+ uid=uname,
+ userPassword=self._encode_password(user_doc['password']),
+ objectClass=[b'account', b'posixAccount'],
+ cn=display_name,
+ uidNumber=uid,
+ gidNumber=b'10001',
+ homeDirectory=b'/home/' + uname,
+ loginShell=b'/bin/bash',
+ gecos=uname,
+ description=b'SCM user account'))
try:
- con = ldap_conn()
- uname = user_doc['username'].encode('utf-8')
- display_name = user_doc['display_name'].encode('utf-8')
- ldif_u = modlist.addModlist(dict(
- uid=uname,
- userPassword=self._encode_password(user_doc['password']),
- objectClass=[b'account', b'posixAccount'],
- cn=display_name,
- uidNumber=uid,
- gidNumber=b'10001',
- homeDirectory=b'/home/' + uname,
- loginShell=b'/bin/bash',
- gecos=uname,
- description=b'SCM user account'))
- try:
- con.add_s(ldap_user_dn(user_doc['username']), ldif_u)
- except ldap.ALREADY_EXISTS:
- log.exception('Trying to create existing user %s', uname)
- raise
- con.unbind_s()
-
- if asbool(config.get('auth.ldap.use_schroot', True)):
- argv = ('schroot -d / -c %s -u root /ldap-userconfig.py init %s' % (
- config['auth.ldap.schroot_name'], user_doc['username'])).split()
- p = subprocess.Popen(
- argv, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
- rc = p.wait()
- if rc != 0:
- log.error('Error creating home directory for %s',
- user_doc['username'])
- except:
+ con.add_s(ldap_user_dn(user_doc['username']), ldif_u)
+ except ldap.ALREADY_EXISTS:
+ log.exception('Trying to create existing user %s', uname)
raise
+ con.unbind_s()
+
+ if asbool(config.get('auth.ldap.use_schroot', True)):
+ argv = ('schroot -d / -c %s -u root /ldap-userconfig.py init %s' % (
+ config['auth.ldap.schroot_name'], user_doc['username'])).split()
+ p = subprocess.Popen(
+ argv, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
+ rc = p.wait()
+ if rc != 0:
+ log.error('Error creating home directory for %s',
+ user_doc['username'])
return result
def upload_sshkey(self, username, pubkey):
@@ -713,7 +710,7 @@ class LdapAuthenticationProvider(AuthenticationProvider):
errmsg = p.stdout.read()
log.exception('Error uploading public SSH key for %s: %s',
username, errmsg)
- assert False, errmsg
+ raise AssertionError(errmsg)
def _get_salt(self, length):
def random_char():
@@ -948,7 +945,7 @@ class ProjectRegistrationProvider(object):
apps=[
('Wiki', 'wiki', 'Wiki'),
('admin', 'admin', 'Admin')])
- except:
+ except Exception:
ThreadLocalORMSession.close_all()
log.exception('Error registering project %s' % p)
raise
diff --git a/Allura/allura/lib/validators.py b/Allura/allura/lib/validators.py
index 37e6cb2..9dd0c91 100644
--- a/Allura/allura/lib/validators.py
+++ b/Allura/allura/lib/validators.py
@@ -95,7 +95,7 @@ class Ming(fev.FancyValidator):
if result is None:
try:
result = self.cls.query.get(_id=ObjectId(value))
- except:
+ except Exception:
pass
return result
@@ -320,7 +320,7 @@ class UserMapJsonFile(JsonFile):
if not(isinstance(k, six.string_types) and isinstance(v, six.string_types)):
raise
return json.dumps(value) if self.as_string else value
- except:
+ except Exception:
raise fe.Invalid(
'User map file must contain mapping of {str:str, ...}',
value, state)
@@ -439,7 +439,7 @@ def convertDate(datestring):
try:
date = datetime.strptime(datestring, f)
return date
- except:
+ except Exception:
pass
return None
@@ -451,7 +451,7 @@ def convertTime(timestring):
try:
time = datetime.strptime(timestring, f)
return {'h': time.hour, 'm': time.minute}
- except:
+ except Exception:
pass
return None
diff --git a/Allura/allura/model/artifact.py b/Allura/allura/model/artifact.py
index cc98b45..614eb0a 100644
--- a/Allura/allura/model/artifact.py
+++ b/Allura/allura/model/artifact.py
@@ -579,7 +579,7 @@ class VersionedArtifact(Artifact):
'''Save off a snapshot of the artifact and increment the version #'''
try:
ip_address = utils.ip_address(request)
- except:
+ except Exception:
ip_address = '0.0.0.0'
data = dict(
artifact_id=self._id,
diff --git a/Allura/allura/model/auth.py b/Allura/allura/model/auth.py
index c8b3cd8..10c6550 100644
--- a/Allura/allura/model/auth.py
+++ b/Allura/allura/model/auth.py
@@ -612,7 +612,7 @@ class User(MappedClass, ActivityNode, ActivityObject, SearchIndexable):
icon_url = None
try:
private_project = self.private_project()
- except:
+ except Exception:
log.warn('Error getting/creating user-project for %s',
self.username, exc_info=True)
private_project = None
diff --git a/Allura/allura/model/index.py b/Allura/allura/model/index.py
index e22c8da..146e82a 100644
--- a/Allura/allura/model/index.py
+++ b/Allura/allura/model/index.py
@@ -102,7 +102,7 @@ class ArtifactReference(object):
cls = loads(six.binary_type(aref.cls))
with h.push_context(aref.project_id):
return cls.query.get(_id=aref.artifact_id)
- except:
+ except Exception:
log.exception('Error loading artifact for %s: %r',
self._id, aref)
diff --git a/Allura/allura/model/notification.py b/Allura/allura/model/notification.py
index 1b8ee27..bff46ec 100644
--- a/Allura/allura/model/notification.py
+++ b/Allura/allura/model/notification.py
@@ -231,7 +231,7 @@ class Notification(MappedClass):
config=config, data=artifact, post=post, h=h))
except jinja2.TemplateNotFound:
pass
- except:
+ except Exception:
''' Catch any errors loading or rendering the template,
but the notification still gets sent if there is an error
'''
@@ -559,7 +559,7 @@ class Mailbox(MappedClass):
})
# Make sure the mbox doesn't stick around to be flush()ed
session(mbox).expunge(mbox)
- except:
+ except Exception:
# log error but try to keep processing, lest all the other eligible
# mboxes for this notification get skipped and lost forever
log.exception(
@@ -596,7 +596,7 @@ class Mailbox(MappedClass):
for mbox in take_while_true(find_and_modify_direct_mbox):
try:
mbox.fire(now)
- except:
+ except Exception:
log.exception(
'Error firing mbox: %s with queue: [%s]', str(mbox._id), ', '.join(mbox.queue))
# re-raise so we don't keep (destructively) trying to process
@@ -648,7 +648,7 @@ class Mailbox(MappedClass):
key = (n.subject, n.from_address,
n.reply_to_address, n.author_id)
ngroups[key].append(n)
- except:
+ except Exception:
# log error but keep trying to deliver other notifications,
# lest the other notifications (which have already been removed
# from the mobx's queue in mongo) be lost
@@ -663,7 +663,7 @@ class Mailbox(MappedClass):
else:
Notification.send_digest(
self.user_id, from_address, subject, ns, reply_to_address)
- except:
+ except Exception:
# log error but keep trying to deliver other notifications,
# lest the other notifications (which have already been removed
# from the mobx's queue in mongo) be lost
diff --git a/Allura/allura/model/session.py b/Allura/allura/model/session.py
index 1b44c48..0203822 100644
--- a/Allura/allura/model/session.py
+++ b/Allura/allura/model/session.py
@@ -95,7 +95,7 @@ class IndexerSessionExtension(ManagedSessionExtension):
try:
if arg:
task.post(arg)
- except:
+ except Exception:
log.error('Error calling %s', task.__name__)
def after_flush(self, obj=None):
diff --git a/Allura/allura/scripts/refresh_last_commits.py b/Allura/allura/scripts/refresh_last_commits.py
index 179317c..57f18e9 100644
--- a/Allura/allura/scripts/refresh_last_commits.py
+++ b/Allura/allura/scripts/refresh_last_commits.py
@@ -127,7 +127,7 @@ class RefreshLastCommits(ScriptTask):
new_commit_ids = app.repo.unknown_commit_ids()
if len(new_commit_ids) > 0:
refresh.post()
- except:
+ except Exception:
log.exception('Error refreshing %r', c.app.repo)
raise
finally:
diff --git a/Allura/allura/scripts/refreshrepo.py b/Allura/allura/scripts/refreshrepo.py
index 7144541..d117138 100644
--- a/Allura/allura/scripts/refreshrepo.py
+++ b/Allura/allura/scripts/refreshrepo.py
@@ -122,7 +122,7 @@ class RefreshRepo(ScriptTask):
else:
c.app.repo.refresh(
options.all, notify=options.notify, commits_are_new=options.commits_are_new)
- except:
+ except Exception:
log.exception('Error refreshing %r', c.app.repo)
ThreadLocalORMSession.flush_all()
diff --git a/Allura/allura/tasks/event_tasks.py b/Allura/allura/tasks/event_tasks.py
index 11e04ce..7a21902 100644
--- a/Allura/allura/tasks/event_tasks.py
+++ b/Allura/allura/tasks/event_tasks.py
@@ -29,7 +29,7 @@ def event(event_type, *args, **kwargs):
for t in event_handler.listeners[event_type]:
try:
t(event_type, *args, **kwargs)
- except:
+ except Exception:
exceptions.append(sys.exc_info())
if exceptions:
if len(exceptions) == 1:
diff --git a/Allura/allura/tasks/export_tasks.py b/Allura/allura/tasks/export_tasks.py
index 9693e1a..a5b960c 100644
--- a/Allura/allura/tasks/export_tasks.py
+++ b/Allura/allura/tasks/export_tasks.py
@@ -109,7 +109,7 @@ class BulkExport(object):
app.project.shortname, exc_info=True)
try:
os.remove(json_file)
- except:
+ except Exception:
pass
return None
else:
diff --git a/Allura/allura/tasks/mail_tasks.py b/Allura/allura/tasks/mail_tasks.py
index 779cd0f..c6da880 100644
--- a/Allura/allura/tasks/mail_tasks.py
+++ b/Allura/allura/tasks/mail_tasks.py
@@ -104,7 +104,7 @@ def route_email(
c.app.handle_message(userpart, msg)
except exc.MailError as e:
log.error('Error routing email to %s: %s', addr, e)
- except:
+ except Exception:
log.exception('Error routing mail to %s', addr)
@@ -173,7 +173,7 @@ def sendmail(fromaddr, destinations, text, reply_to, subject,
if not user:
log.warning('Cannot find user with ID: %s', addr)
continue
- except:
+ except Exception:
log.exception('Error looking up user with ID: %r' % addr)
continue
addr = user.email_address_header()
diff --git a/Allura/allura/tasks/repo_tasks.py b/Allura/allura/tasks/repo_tasks.py
index 04e1a9f..b47f562 100644
--- a/Allura/allura/tasks/repo_tasks.py
+++ b/Allura/allura/tasks/repo_tasks.py
@@ -142,7 +142,7 @@ def tarball(revision, path):
else:
try:
repo.tarball(revision, path)
- except:
+ except Exception:
log.error(
'Could not create snapshot for repository: %s:%s revision %s path %s' %
(c.project.shortname, c.app.config.options.mount_point, revision, path), exc_info=True)
diff --git a/Allura/allura/tests/test_tasks.py b/Allura/allura/tests/test_tasks.py
index c2d9117..63b18ad 100644
--- a/Allura/allura/tests/test_tasks.py
+++ b/Allura/allura/tests/test_tasks.py
@@ -594,7 +594,7 @@ def raise_exc():
for x in range(10):
try:
assert False, str('assert %d' % x)
- except:
+ except Exception:
errs.append(sys.exc_info())
raise CompoundError(*errs)
diff --git a/Allura/allura/webhooks.py b/Allura/allura/webhooks.py
index c41d8c0..a5f0004 100644
--- a/Allura/allura/webhooks.py
+++ b/Allura/allura/webhooks.py
@@ -66,7 +66,7 @@ class WebhookValidator(fev.FancyValidator):
else:
try:
wh = M.Webhook.query.get(_id=ObjectId(value))
- except:
+ except Exception:
pass
if wh and wh.type == self.sender.type and wh.app_config_id == self.app.config._id:
return wh
diff --git a/Allura/allura/websetup/bootstrap.py b/Allura/allura/websetup/bootstrap.py
index 9280175..a6d40d0 100644
--- a/Allura/allura/websetup/bootstrap.py
+++ b/Allura/allura/websetup/bootstrap.py
@@ -81,7 +81,7 @@ def bootstrap(command, conf, vars):
wipe_database()
try:
g.solr.delete(q='*:*')
- except: # pragma no cover
+ except Exception: # pragma no cover
log.error('SOLR server is %s', g.solr_server)
log.error('Error clearing solr index')
@@ -296,7 +296,7 @@ def wipe_database():
log.info('Dropping collection %s:%s', database, coll)
try:
db.drop_collection(coll)
- except:
+ except Exception:
pass
diff --git a/AlluraTest/alluratest/controller.py b/AlluraTest/alluratest/controller.py
index 2da93da..918beb5 100644
--- a/AlluraTest/alluratest/controller.py
+++ b/AlluraTest/alluratest/controller.py
@@ -123,7 +123,7 @@ def setup_unit_test():
try:
while True:
REGISTRY.cleanup()
- except:
+ except Exception:
pass
REGISTRY.prepare()
REGISTRY.register(ew.widget_context,
diff --git a/ForgeDiscussion/forgediscussion/forum_main.py b/ForgeDiscussion/forgediscussion/forum_main.py
index 5c6b19d..47c4735 100644
--- a/ForgeDiscussion/forgediscussion/forum_main.py
+++ b/ForgeDiscussion/forgediscussion/forum_main.py
@@ -198,7 +198,7 @@ class ForgeDiscussionApp(Application):
l.append(
SitemapEntry('Formatting Help', c.app.url + 'markdown_syntax'))
return l
- except: # pragma no cover
+ except Exception: # pragma no cover
log.exception('sidebar_menu')
return []
diff --git a/ForgeDiscussion/forgediscussion/import_support.py b/ForgeDiscussion/forgediscussion/import_support.py
index cd8a334..8b4cadd 100644
--- a/ForgeDiscussion/forgediscussion/import_support.py
+++ b/ForgeDiscussion/forgediscussion/import_support.py
@@ -162,7 +162,7 @@ def create_user(json_username):
False)
session(M.User).flush()
break
- except:
+ except Exception:
raise
return allura_username
diff --git a/ForgeGit/forgegit/model/git_repo.py b/ForgeGit/forgegit/model/git_repo.py
index d0982b8..11638f3 100644
--- a/ForgeGit/forgegit/model/git_repo.py
+++ b/ForgeGit/forgegit/model/git_repo.py
@@ -218,7 +218,7 @@ class GitImplementation(M.RepositoryImplementation):
bare=True)
self.__dict__['_git'] = repo
self._setup_special_files(source_url)
- except:
+ except Exception:
self._repo.set_status('ready')
raise
@@ -236,7 +236,7 @@ class GitImplementation(M.RepositoryImplementation):
try:
from tg import request
url = ' at ' + request.url
- except:
+ except Exception:
pass
log.exception('Error with rev_parse(%s)%s' %
(str(rev) + '^0', url))
diff --git a/ForgeGit/forgegit/tests/functional/test_auth.py b/ForgeGit/forgegit/tests/functional/test_auth.py
index 6c572e2..a329fbe 100644
--- a/ForgeGit/forgegit/tests/functional/test_auth.py
+++ b/ForgeGit/forgegit/tests/functional/test_auth.py
@@ -83,7 +83,7 @@ class TestGitUserPermissions(TestController):
username=username), **kw)
try:
return r.json
- except:
+ except Exception:
return r
@with_git
diff --git a/ForgeSVN/forgesvn/model/svn.py b/ForgeSVN/forgesvn/model/svn.py
index 7a95b83..a01fdd4 100644
--- a/ForgeSVN/forgesvn/model/svn.py
+++ b/ForgeSVN/forgesvn/model/svn.py
@@ -431,7 +431,7 @@ class SVNImplementation(M.RepositoryImplementation):
id=self._tree_oid(commit._id, path),
name=path))
else:
- assert False
+ raise AssertionError()
lcd_entries.append(dict(
name=path,
commit_id=self._oid(info.last_changed_rev.number),
diff --git a/ForgeTracker/forgetracker/import_support.py b/ForgeTracker/forgetracker/import_support.py
index efe011f..3a482c6 100644
--- a/ForgeTracker/forgetracker/import_support.py
+++ b/ForgeTracker/forgetracker/import_support.py
@@ -88,7 +88,7 @@ class ResettableStream(object):
def seek(self, pos):
self._read_header()
if self.stream_pos > self.buf_len:
- assert False, 'Started reading stream body, cannot reset pos'
+ raise AssertionError('Started reading stream body, cannot reset pos')
self.buf.seek(pos)
self.buf_pos = pos
diff --git a/ForgeTracker/forgetracker/model/ticket.py b/ForgeTracker/forgetracker/model/ticket.py
index 99061c3..36b252f 100644
--- a/ForgeTracker/forgetracker/model/ticket.py
+++ b/ForgeTracker/forgetracker/model/ticket.py
@@ -1182,7 +1182,7 @@ class Ticket(VersionedArtifact, ActivityObject, VotableArtifact):
kwargs['posts_limit'] = posts_limit
try:
parents_json.update(parent.__json__(self, is_export=is_export, **kwargs))
- except:
+ except Exception:
parents_json.update(parent.__json__(self, **kwargs))
return dict(parents_json,
diff --git a/ForgeTracker/forgetracker/tracker_main.py b/ForgeTracker/forgetracker/tracker_main.py
index 2aa2b0e..982a6ea 100644
--- a/ForgeTracker/forgetracker/tracker_main.py
+++ b/ForgeTracker/forgetracker/tracker_main.py
@@ -284,7 +284,7 @@ class ForgeTrackerApp(Application):
ticket = TM.Ticket.query.get(
app_config_id=self.config._id,
ticket_num=int(topic))
- except:
+ except Exception:
log.exception('Error getting ticket %s', topic)
return
if not ticket:
diff --git a/fuse/accessfs.py b/fuse/accessfs.py
index 698693e..1f7b20d 100644
--- a/fuse/accessfs.py
+++ b/fuse/accessfs.py
@@ -328,7 +328,7 @@ class PermissionCache(object):
uname = self._uid_cache.get(uid)
try:
entry = self._api_lookup(uname, path)
- except:
+ except Exception:
entry = 0
log.exception('Error checking access for %s', path)
self._save_result(uid, path, entry)
diff --git a/scripts/migrations/032-subscribe-merge-request-submitters.py b/scripts/migrations/032-subscribe-merge-request-submitters.py
index 66a7132..0430617 100644
--- a/scripts/migrations/032-subscribe-merge-request-submitters.py
+++ b/scripts/migrations/032-subscribe-merge-request-submitters.py
@@ -35,7 +35,7 @@ def main():
print('Processing {0}'.format(mr.url()))
mr.subscribe(user=mr.creator)
ThreadLocalORMSession.flush_all()
- except:
+ except Exception:
log.exception('Error on %s', mr)
diff --git a/scripts/teamforge-import.py b/scripts/teamforge-import.py
index 44a4483..224d542 100644
--- a/scripts/teamforge-import.py
+++ b/scripts/teamforge-import.py
@@ -124,7 +124,7 @@ def main():
return
try:
nbhd = M.Neighborhood.query.get(name=options.neighborhood)
- except:
+ except Exception:
log.exception('error querying mongo')
log.error(
'This should be run as "paster script production.ini ../scripts/teamforge-import.py -- ...options.."')
@@ -164,13 +164,13 @@ def main():
check_unsupported_tools(project)
with codecs.open(os.path.join(options.output_dir, 'users.json'), 'w', encoding='utf-8') as user_file:
json.dump(users, user_file, default=str)
- except:
+ except Exception:
log.exception('Error extracting %s' % pid)
if options.load:
try:
project = create_project(pid, nbhd)
- except:
+ except Exception:
log.exception('Error creating %s' % pid)
diff --git a/scripts/wiki-copy.py b/scripts/wiki-copy.py
index 7769357..1e2b4cb 100644
--- a/scripts/wiki-copy.py
+++ b/scripts/wiki-copy.py
@@ -66,7 +66,7 @@ def main():
else:
print("Error posting {0} to {1}: {2} (project may not exist)".format(page_json['title'], to_url, resp[0]['status']))
break
- except:
+ except Exception:
print("Error processing " + p)
raise