diff options
author | Cristina <hi@xmunoz.com> | 2021-03-31 06:04:27 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-31 12:04:27 +0100 |
commit | 670564446cebb7e287dfc084f88d94e8e68dcc02 (patch) | |
tree | 77e8b4910267279aadc00af7d52fb8d3a30c206c | |
parent | Rewrite complement.sh (#9685) (diff) | |
download | synapse-670564446cebb7e287dfc084f88d94e8e68dcc02.tar.xz |
Deprecate imp (#9718)
Fixes #9642. Signed-off-by: Cristina Muñoz <hi@xmunoz.com>
-rw-r--r-- | changelog.d/9718.removal | 1 | ||||
-rw-r--r-- | synapse/storage/prepare_database.py | 11 |
2 files changed, 9 insertions, 3 deletions
diff --git a/changelog.d/9718.removal b/changelog.d/9718.removal new file mode 100644 index 0000000000..6de7814217 --- /dev/null +++ b/changelog.d/9718.removal @@ -0,0 +1 @@ +Replace deprecated `imp` module with successor `importlib`. Contributed by Cristina Muñoz. diff --git a/synapse/storage/prepare_database.py b/synapse/storage/prepare_database.py index 6c3c2da520..c7f0b8ccb5 100644 --- a/synapse/storage/prepare_database.py +++ b/synapse/storage/prepare_database.py @@ -13,7 +13,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -import imp +import importlib.util import logging import os import re @@ -454,8 +454,13 @@ def _upgrade_existing_database( ) module_name = "synapse.storage.v%d_%s" % (v, root_name) - with open(absolute_path) as python_file: - module = imp.load_source(module_name, absolute_path, python_file) # type: ignore + + spec = importlib.util.spec_from_file_location( + module_name, absolute_path + ) + module = importlib.util.module_from_spec(spec) + spec.loader.exec_module(module) # type: ignore + logger.info("Running script %s", relative_path) module.run_create(cur, database_engine) # type: ignore if not is_empty: |