diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a4be9aea6..272827ece 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,8 @@ OasisPlatform Changelog ======================= +.. _`1.23.22`: https://github.com/OasisLMF/OasisPlatform/compare/1.23.21...1.23.22 + .. _`1.23.21`: https://github.com/OasisLMF/OasisPlatform/compare/1.23.20...1.23.21 .. _`1.23.20`: https://github.com/OasisLMF/OasisPlatform/compare/1.23.19...1.23.20 diff --git a/Dockerfile.api_server b/Dockerfile.api_server index 4d262b98e..9878e0e2c 100755 --- a/Dockerfile.api_server +++ b/Dockerfile.api_server @@ -11,7 +11,7 @@ RUN pip install --user --no-warn-script-location -r ./requirements-server.txt && FROM ubuntu:22.04 RUN apt-get update \ && apt-get upgrade -y \ - && apt-get install -y --no-install-recommends python3 python3-pip curl libmariadbclient-dev-compat \ + && apt-get install -y --no-install-recommends python3 python3-pkg-resources curl libmariadbclient-dev-compat \ && rm -rf /var/lib/apt/lists/ COPY --from=build-packages /root/.local /root/.local diff --git a/VERSION b/VERSION index cb8b7322f..5e1f8deed 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.23.21 +1.23.22 diff --git a/requirements-server.txt b/requirements-server.txt index b611d2696..0cf7a853b 100644 --- a/requirements-server.txt +++ b/requirements-server.txt @@ -65,7 +65,7 @@ coreschema==0.0.4 # via # coreapi # drf-yasg -cryptography==41.0.6 +cryptography==42.0.4 # via # autobahn # pyopenssl @@ -169,7 +169,7 @@ pyjwt==2.7.0 # via djangorestframework-simplejwt pymysql==1.0.3 # via -r requirements-server.in -pyopenssl==23.2.0 +pyopenssl==24.0.0 # via twisted pyrsistent==0.19.3 # via jsonschema diff --git a/requirements-worker.txt b/requirements-worker.txt index 6d7134b9d..e5476c18b 100644 --- a/requirements-worker.txt +++ b/requirements-worker.txt @@ -123,9 +123,7 @@ numpy==1.24.3 # scipy # shapely oasislmf[extra]==1.23.20 - # via - # -r requirements-worker.in - # oasislmf + # via -r requirements-worker.in packaging==23.1 # via # fastparquet diff --git a/requirements.txt b/requirements.txt index 79ee7c14b..e7a41791b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -119,7 +119,7 @@ coverage[toml]==7.2.5 # pytest-cov cramjam==2.6.2 # via fastparquet -cryptography==41.0.6 +cryptography==42.0.4 # via # autobahn # pyopenssl @@ -263,9 +263,7 @@ numpy==1.24.3 # scipy # shapely oasislmf[extra]==1.23.20 - # via - # -r ./requirements-worker.in - # oasislmf + # via -r ./requirements-worker.in ods-tools==2.3.2 # via -r ./requirements-server.in packaging==23.1 @@ -325,7 +323,7 @@ pymysql==1.0.3 # via # -r ./requirements-server.in # -r ./requirements-worker.in -pyopenssl==23.2.0 +pyopenssl==24.0.0 # via # -r requirements.in # twisted diff --git a/src/conf/celeryconf.py b/src/conf/celeryconf.py index a8fbc1e53..18d30f327 100644 --- a/src/conf/celeryconf.py +++ b/src/conf/celeryconf.py @@ -1,3 +1,4 @@ +import urllib from src.conf.iniconf import settings #: Celery config - ignore result? @@ -21,8 +22,8 @@ else: CELERY_RESULT_BACKEND = '{DB_ENGINE}://{DB_USER}:{DB_PASS}@{DB_HOST}:{DB_PORT}/{DB_NAME}'.format( DB_ENGINE=settings.get('celery', 'db_engine'), - DB_USER=settings.get('celery', 'db_user'), - DB_PASS=settings.get('celery', 'db_pass'), + DB_USER=urllib.parse.quote(settings.get('celery', 'db_user')), + DB_PASS=urllib.parse.quote(settings.get('celery', 'db_pass')), DB_HOST=settings.get('celery', 'db_host'), DB_PORT=settings.get('celery', 'db_port'), DB_NAME=settings.get('celery', 'db_name', fallback='celery'), diff --git a/src/model_execution_worker/storage_manager.py b/src/model_execution_worker/storage_manager.py index a90a469e4..5381811ec 100755 --- a/src/model_execution_worker/storage_manager.py +++ b/src/model_execution_worker/storage_manager.py @@ -128,7 +128,7 @@ def _store_file(self, file_path, suffix=None): self.media_root, self._get_unique_filename(ext)) self.logger.info('Store file: {} -> {}'.format(file_path, stored_fp)) - return shutil.copy(file_path, stored_fp) + return shutil.copyfile(file_path, stored_fp) def _store_dir(self, directory_path, suffix=None, arcname=None): """ Compress and store a directory diff --git a/src/model_execution_worker/tasks.py b/src/model_execution_worker/tasks.py index 240a33347..de39fefce 100755 --- a/src/model_execution_worker/tasks.py +++ b/src/model_execution_worker/tasks.py @@ -619,7 +619,7 @@ def prepare_complex_model_file_inputs(complex_model_files, run_directory): to_path = os.path.join(run_directory, orig_fn) if os.name == 'nt': logging.info(f'complex_model_file: copy {from_path} to {to_path}') - shutil.copy(from_path, to_path) + shutil.copyfile(from_path, to_path) else: logging.info(f'complex_model_file: link {from_path} to {to_path}') os.symlink(from_path, to_path)