summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/pool
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2019-08-11 15:24:13 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2019-08-11 22:33:54 -0400
commit2a079cdc76b3a0f5b4f37299d280d328586e2f7e (patch)
treed7769b2c30ec0fdbdced9514bfbd7936fd9e489e /lib/sqlalchemy/pool
parentf5e57f7c311288d892894edcc44d901b5bfbb3d1 (diff)
downloadsqlalchemy-2a079cdc76b3a0f5b4f37299d280d328586e2f7e.tar.gz
Rewrite pool reset_on_return parsing using a util function
Choosing a util.symbol() based on a user parameter is about to have another use case added as part of #4623, so add a generalized solution ahead of it. Change-Id: I420631f81af2ffc655995b9cce9ff2ac618c16d7
Diffstat (limited to 'lib/sqlalchemy/pool')
-rw-r--r--lib/sqlalchemy/pool/base.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/sqlalchemy/pool/base.py b/lib/sqlalchemy/pool/base.py
index 761127e83..2325e7faa 100644
--- a/lib/sqlalchemy/pool/base.py
+++ b/lib/sqlalchemy/pool/base.py
@@ -191,16 +191,16 @@ class Pool(log.Identified):
self._recycle = recycle
self._invalidate_time = 0
self._pre_ping = pre_ping
- if reset_on_return in ("rollback", True, reset_rollback):
- self._reset_on_return = reset_rollback
- elif reset_on_return in ("none", None, False, reset_none):
- self._reset_on_return = reset_none
- elif reset_on_return in ("commit", reset_commit):
- self._reset_on_return = reset_commit
- else:
- raise exc.ArgumentError(
- "Invalid value for 'reset_on_return': %r" % reset_on_return
- )
+ self._reset_on_return = util.symbol.parse_user_argument(
+ reset_on_return,
+ {
+ reset_rollback: ["rollback", True],
+ reset_none: ["none", None, False],
+ reset_commit: ["commit"],
+ },
+ "reset_on_return",
+ resolve_symbol_names=False,
+ )
self.echo = echo