From 6757aa1ab0232f46547355b1620781e8c727bbda Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Sat, 20 Jun 2026 14:10:32 +0200 Subject: [PATCH] fix various issues --- pyproject.toml | 2 +- src/backend/InvenTree/InvenTree/schema.py | 4 ++-- src/backend/InvenTree/InvenTree/setting/ldap.py | 4 ++-- .../InvenTree/company/migrations/0019_auto_20200413_0642.py | 2 +- src/backend/InvenTree/report/templatetags/report.py | 2 +- src/backend/InvenTree/script/update_icons.py | 2 +- src/backend/InvenTree/users/models.py | 4 +--- src/performance/tests.py | 1 + 8 files changed, 10 insertions(+), 11 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 6e9340b447..e1216eaaf6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -115,7 +115,7 @@ invalid-return-type="ignore" # 22 ## unknown-argument="ignore" # 3 # need to wait for better django field stubs invalid-argument-type="ignore" # 49 no-matching-overload="ignore" # 3 # need to wait for betterdjango field stubs -possibly-unbound-attribute="ignore" # 21 +# possibly-unbound-attribute="ignore" # 21 [tool.coverage.run] source = ["src/backend/InvenTree", "InvenTree"] diff --git a/src/backend/InvenTree/InvenTree/schema.py b/src/backend/InvenTree/InvenTree/schema.py index 55fa008349..edea87bfef 100644 --- a/src/backend/InvenTree/InvenTree/schema.py +++ b/src/backend/InvenTree/InvenTree/schema.py @@ -282,7 +282,7 @@ def postprocess_print_stats(result, generator, request, public): scopes = {} for path, details in rlt_dict.items(): if details['oauth']: - for scope in details['oauth']: + for scope in list(details['oauth']): if scope not in scopes: scopes[scope] = [] scopes[scope].append(path) @@ -343,7 +343,7 @@ def schema_for_view_output_options(view_class): return extended_view -def exclude_from_schema(klass: type, alternative_path: str) -> type: +def exclude_from_schema(klass: type[Any], alternative_path: str) -> type[Any]: """Decorator to exclude a view from the OpenAPI schema. This is used to hide legacy endpoints from the schema, while still retaining them for backwards compatibility. diff --git a/src/backend/InvenTree/InvenTree/setting/ldap.py b/src/backend/InvenTree/InvenTree/setting/ldap.py index 6e6f57989f..3b39179701 100644 --- a/src/backend/InvenTree/InvenTree/setting/ldap.py +++ b/src/backend/InvenTree/InvenTree/setting/ldap.py @@ -9,8 +9,8 @@ def get_ldap_config(debug: bool = False) -> dict: The returned settings will be updated into the globals() object, and will be used to configure the LDAP authentication backend. """ - import django_auth_ldap.config # type: ignore[unresolved-import] - import ldap # type: ignore[unresolved-import] + import django_auth_ldap.config # ty: ignore[unresolved-import] + import ldap # ty: ignore[unresolved-import] # get global options from dict and use ldap.OPT_* as keys and values global_options_dict = get_setting( diff --git a/src/backend/InvenTree/company/migrations/0019_auto_20200413_0642.py b/src/backend/InvenTree/company/migrations/0019_auto_20200413_0642.py index 0fc852354b..d4d33f9697 100644 --- a/src/backend/InvenTree/company/migrations/0019_auto_20200413_0642.py +++ b/src/backend/InvenTree/company/migrations/0019_auto_20200413_0642.py @@ -15,7 +15,7 @@ TESTING = 'test' in sys.argv def clear(): if not TESTING: # pragma: no cover - os.system('cls' if os.name == 'nt' else 'clear') + os.system('cls' if os.name == 'nt' else 'clear') # ty:ignore[deprecated] def reverse_association(apps, schema_editor): # pragma: no cover diff --git a/src/backend/InvenTree/report/templatetags/report.py b/src/backend/InvenTree/report/templatetags/report.py index 5ec71e1891..aad9db84b5 100644 --- a/src/backend/InvenTree/report/templatetags/report.py +++ b/src/backend/InvenTree/report/templatetags/report.py @@ -1021,7 +1021,7 @@ def format_number( number = float(number) if multiplier is not None: - number *= multiplier + number *= float(multiplier) if integer: number = int(number) diff --git a/src/backend/InvenTree/script/update_icons.py b/src/backend/InvenTree/script/update_icons.py index ea24479456..716ffeb878 100644 --- a/src/backend/InvenTree/script/update_icons.py +++ b/src/backend/InvenTree/script/update_icons.py @@ -19,7 +19,7 @@ if __name__ == '__main__': os.mkdir(STATIC_FOLDER) print('Downloading tabler icons...') - os.system(f'npm install --prefix {TMP_FOLDER} @tabler/icons @tabler/icons-webfont') + os.system(f'npm install --prefix {TMP_FOLDER} @tabler/icons @tabler/icons-webfont') # ty:ignore[deprecated] print(f'Copying tabler icons to {STATIC_FOLDER}...') diff --git a/src/backend/InvenTree/users/models.py b/src/backend/InvenTree/users/models.py index 54fb8ae2da..0e6e1eb316 100644 --- a/src/backend/InvenTree/users/models.py +++ b/src/backend/InvenTree/users/models.py @@ -47,9 +47,7 @@ User.add_to_class('__str__', user_model_str) # Overriding User.__str__ if settings.LDAP_AUTH: - from django_auth_ldap.backend import ( # type: ignore[unresolved-import] - populate_user, - ) + from django_auth_ldap.backend import populate_user # ty: ignore[unresolved-import] @receiver(populate_user) def create_email_address(user, **kwargs): diff --git a/src/performance/tests.py b/src/performance/tests.py index e05c32391a..8f9eefc58c 100644 --- a/src/performance/tests.py +++ b/src/performance/tests.py @@ -4,6 +4,7 @@ import json import os import pytest + from inventree.api import InvenTreeAPI server = os.environ.get('INVENTREE_PYTHON_TEST_SERVER', 'http://127.0.0.1:12345')