Skip to content

Commit d86d43a

Browse files
committed
Prefer "close" method instead of old "disconnect"
1 parent ef3e2d0 commit d86d43a

5 files changed

Lines changed: 16 additions & 16 deletions

File tree

python/rcdb/app_context.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def close(self):
2828
Python 3.13+ leaks a ``ResourceWarning: unclosed database``).
2929
"""
3030
if self._db_instance is not None:
31-
self._db_instance.disconnect()
31+
self._db_instance.close()
3232
self._db_instance = None
3333

3434
def require_connected_db(self) -> RCDBProvider:

python/rcdb/cli/db.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def db_command(ctx):
2424
print("ERROR connection string is missing.")
2525
exit(1)
2626
provider.connect(connection_str, check_version=False)
27-
ctx.call_on_close(provider.disconnect)
27+
ctx.call_on_close(provider.close)
2828
query = select(SchemaVersion).order_by(SchemaVersion.version.desc())
2929
schema_version, = provider.session.execute(query).first()
3030
print("Schema version: {} - '{}'".format(schema_version.version, schema_version.comment))
@@ -89,7 +89,7 @@ def _print_sqlite_table_sizes(engine):
8989
@pass_rcdb_context
9090
def update(context):
9191
provider = RCDBProvider(context.connection_str, check_version=False)
92-
click.get_current_context().call_on_close(provider.disconnect)
92+
click.get_current_context().call_on_close(provider.close)
9393

9494
# Check something exists
9595
if not sqlalchemy.inspect(provider.engine).has_table(SchemaVersion.__tablename__):
@@ -119,7 +119,7 @@ def update(context):
119119
return
120120

121121
provider = RCDBProvider(context.connection_str, check_version=False)
122-
click.get_current_context().call_on_close(provider.disconnect)
122+
click.get_current_context().call_on_close(provider.close)
123123

124124
# Create alias table
125125
Alias.__table__.create(provider.engine)
@@ -184,7 +184,7 @@ def init(context, drop_all, no_defaults, confirm, add_tests, add_cpp_tests):
184184
# That we will need for DB
185185
metadata = rcdb.model.Base.metadata
186186
provider = RCDBProvider(context.connection_str, check_version=False)
187-
click.get_current_context().call_on_close(provider.disconnect)
187+
click.get_current_context().call_on_close(provider.close)
188188

189189
# Drop all if needed
190190
if drop_all:

python/rcdb/cli/rp.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def add(context, name, description, run_min, run_max, start_date, end_date):
5555

5656
provider = RCDBProvider()
5757
provider.connect(connection_str, check_version=False)
58-
click.get_current_context().call_on_close(provider.disconnect)
58+
click.get_current_context().call_on_close(provider.close)
5959
session = provider.session
6060

6161
# Convert date strings to Date objects if provided
@@ -105,7 +105,7 @@ def rm(context, period_id, yes):
105105

106106
provider = RCDBProvider()
107107
provider.connect(connection_str, check_version=False)
108-
click.get_current_context().call_on_close(provider.disconnect)
108+
click.get_current_context().call_on_close(provider.close)
109109
session = provider.session
110110

111111
rp_item = session.query(RunPeriod).filter(RunPeriod.id == period_id).one_or_none()
@@ -144,7 +144,7 @@ def update(context, period_id, name, description, run_min, run_max, start_date,
144144

145145
provider = RCDBProvider()
146146
provider.connect(connection_str, check_version=False)
147-
click.get_current_context().call_on_close(provider.disconnect)
147+
click.get_current_context().call_on_close(provider.close)
148148
session = provider.session
149149

150150
rp_item = session.query(RunPeriod).filter(RunPeriod.id == period_id).one_or_none()

python/rcdb/provider.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,13 @@ def connect(self, connection_string="mysql+pymysql://rcdb@127.0.0.1/rcdb", check
153153
"Update your RCDB installation to match the database."
154154
raise rcdb.errors.SqlSchemaVersionError(message)
155155
except Exception:
156-
self.disconnect()
156+
self.close()
157157
raise
158158

159159
# ------------------------------------------------
160160
# Closes connection to data
161161
# ------------------------------------------------
162-
def disconnect(self):
162+
def close(self):
163163
"""Closes connection to database.
164164
165165
Closes the ORM session and disposes the SQLAlchemy engine so the
@@ -174,10 +174,10 @@ def disconnect(self):
174174
if self.engine is not None:
175175
self.engine.dispose()
176176

177-
# ``close`` is an alias for ``disconnect``: a lot of calling code (and other
178-
# resource-holding objects) expects a ``close()`` method, while existing
179-
# RCDB code and users rely on the historical ``disconnect()`` name. Keep both.
180-
close = disconnect
177+
# ``disconnect`` is the historical name for ``close``; kept as an alias so
178+
# existing RCDB code and users keep working while new code standardizes on
179+
# ``close()`` (the conventional name other resource-holding objects use).
180+
disconnect = close
181181

182182
# -------------------------------------------------
183183
# indicates ether the connection is open or not

python/rcdb/web/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ def _render_db_error(connection_string):
154154
broken = getattr(g, "tdb", None)
155155
if broken is not None:
156156
try:
157-
broken.disconnect()
157+
broken.close()
158158
except Exception:
159159
logger.debug("Ignoring error while disposing failed DB engine.",
160160
exc_info=True)
@@ -183,7 +183,7 @@ def handle_db_error(error):
183183
def teardown_request(exception):
184184
tdb = getattr(g, 'tdb', None)
185185
if tdb is not None:
186-
tdb.disconnect()
186+
tdb.close()
187187

188188

189189
@app.errorhandler(404)

0 commit comments

Comments
 (0)