diff --git a/invenio_utilities_tuw/cli/drafts.py b/invenio_utilities_tuw/cli/drafts.py index 14800e5afcbcf496dd70dc3839ec1faea5a97b19..5628728d3c41b7761311c3695f243fbc6d706750 100644 --- a/invenio_utilities_tuw/cli/drafts.py +++ b/invenio_utilities_tuw/cli/drafts.py @@ -155,7 +155,10 @@ def create_draft(metadata_path, publish, user, owners, vanity_pid): file_names = [] file_paths = [] if isdir(deposit_files_path): - exists = lambda fn: isfile(join(deposit_files_path, fn)) + + def exists(filename): + return isfile(join(deposit_files_path, filename)) + content = os.listdir(deposit_files_path) file_names = [basename(fn) for fn in content if exists(fn)] for fn in file_names: @@ -310,7 +313,9 @@ def add_files(filepaths, pid, pid_type, user): for file_path in filepaths: if isdir(file_path): # add all files (no recursion into sub-dirs) from the directory - exists = lambda fn: isfile(join(file_path, fn)) + def exists(filename): + return isfile(join(file_path, filename)) + content = os.listdir(file_path) file_names = [basename(fn) for fn in content if exists(fn)] diff --git a/invenio_utilities_tuw/config.py b/invenio_utilities_tuw/config.py index e364c116ee3f2654bc43f9227f1b8820dc682741..190958f7f99145c84eae8b78e64ca7591c46ae2c 100644 --- a/invenio_utilities_tuw/config.py +++ b/invenio_utilities_tuw/config.py @@ -10,5 +10,11 @@ from invenio_rdm_records.proxies import current_rdm_records -UTILITIES_TUW_RECORD_SERVICE_FACTORY = lambda: current_rdm_records.records_service + +def default_record_service_factory(): + """Return ``current_rdm_records.records_service.``""" + return current_rdm_records.records_service + + +UTILITIES_TUW_RECORD_SERVICE_FACTORY = default_record_service_factory """Factory function for creating a RecordService.""" diff --git a/invenio_utilities_tuw/utils.py b/invenio_utilities_tuw/utils.py index 24f960ce3cbd2b722257f9827cb131a7ddc4e97d..6fcf4d8a5bef8e5beffc5ffb94272f99a2feeb23 100644 --- a/invenio_utilities_tuw/utils.py +++ b/invenio_utilities_tuw/utils.py @@ -14,9 +14,10 @@ from flask import current_app from invenio_access.permissions import any_user, system_identity from invenio_access.utils import get_identity from invenio_accounts import current_accounts -from invenio_rdm_records.proxies import current_rdm_records from werkzeug.utils import import_string +from .config import default_record_service_factory + def get_or_import(value, default=None): """Try an import if value is an endpoint string, or return value itself.""" @@ -35,7 +36,7 @@ def get_record_service(): if factory is not None: factory = get_or_import(factory) else: - factory = lambda: current_rdm_records.records_service + factory = default_record_service_factory return factory() diff --git a/tests/conftest.py b/tests/conftest.py index 01166cfc175eb92321d99ebd05ce531480e22226..251a8db7f4ae285e374fc50e68c0783ad4cb944d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2020 - 2021 TU Wien. +# Copyright (C) 2020 - 2024 TU Wien. # # Invenio-Utilities-TUW is free software; you can redistribute it and/or # modify it under the terms of the MIT License; see LICENSE file for more @@ -12,14 +12,8 @@ See https://pytest-invenio.readthedocs.io/ for documentation on which test fixtures are available. """ -import shutil -import tempfile import pytest -from flask import Flask -from invenio_i18n import Babel - -from invenio_utilities_tuw import InvenioUtilitiesTUW @pytest.fixture(scope="module") @@ -29,18 +23,3 @@ def celery_config(): TODO: Remove this fixture if you add Celery support. """ return {} - - -@pytest.fixture(scope="module") -def create_app(instance_path): - """Application factory fixture.""" - - def factory(**config): - app = Flask("testapp", instance_path=instance_path) - app.config.update(**config) - Babel(app) - InvenioUtilitiesTUW(app) - app.register_blueprint(blueprint) - return app - - return factory diff --git a/tests/test_invenio_utilities_tuw.py b/tests/test_invenio_utilities_tuw.py index 9b0793782effa14e8e5bdfe5ce95134cba885c31..92117e22124a4fc406d91df35f97b89f9e4af4e9 100644 --- a/tests/test_invenio_utilities_tuw.py +++ b/tests/test_invenio_utilities_tuw.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- # -# Copyright (C) 2020 - 2021 TU Wien. +# Copyright (C) 2020 - 2024 TU Wien. # # Invenio-Utilities-TUW is free software; you can redistribute it and/or # modify it under the terms of the MIT License; see LICENSE file for more @@ -23,7 +23,7 @@ def test_version(): def test_init(): """Test extension initialization.""" app = Flask("testapp") - ext = InvenioUtilitiesTUW(app) + InvenioUtilitiesTUW(app) assert "invenio-utilities-tuw" in app.extensions app = Flask("testapp")