From a9eeb9c4a7033850b2e024a42c5e7aff68d56e08 Mon Sep 17 00:00:00 2001
From: Maximilian Moser <maximilian.moser@tuwien.ac.at>
Date: Thu, 19 Sep 2024 19:19:13 +0200
Subject: [PATCH] Fix linter complaints from ruff

---
 invenio_utilities_tuw/cli/drafts.py |  9 +++++++--
 invenio_utilities_tuw/config.py     |  8 +++++++-
 invenio_utilities_tuw/utils.py      |  5 +++--
 tests/conftest.py                   | 23 +----------------------
 tests/test_invenio_utilities_tuw.py |  4 ++--
 5 files changed, 20 insertions(+), 29 deletions(-)

diff --git a/invenio_utilities_tuw/cli/drafts.py b/invenio_utilities_tuw/cli/drafts.py
index 14800e5..5628728 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 e364c11..190958f 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 24f960c..6fcf4d8 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 01166cf..251a8db 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 9b07937..92117e2 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")
-- 
GitLab