From 24571974462050b193cb846dabce7fdec6634506 Mon Sep 17 00:00:00 2001 From: Matthias Mair Date: Thu, 8 Jan 2026 00:01:23 +0100 Subject: [PATCH] Bump tooling (#11096) * Matmair/issue10740 (#497) * reduce noise in docker * refactor path infos * add more info during local frontend build * add frontend info during release build * Revert "Matmair/issue10740 (#497)" (#498) This reverts commit 415c52813bf6f3ab7e88d850d272686ad2910fb3. * bum pre-commit and update to new formatting rule * fix style --- .pre-commit-config.yaml | 6 +++--- src/backend/InvenTree/InvenTree/helpers_email.py | 3 ++- .../InvenTree/management/commands/schema.py | 3 ++- src/backend/InvenTree/InvenTree/models.py | 6 ++++-- src/backend/InvenTree/common/notifications.py | 6 +++--- src/backend/InvenTree/order/models.py | 3 ++- src/backend/InvenTree/part/filters.py | 9 ++++++--- src/backend/InvenTree/part/models.py | 12 ++++++++---- src/backend/InvenTree/plugin/base/barcodes/api.py | 3 ++- src/backend/InvenTree/plugin/base/barcodes/mixins.py | 3 ++- .../plugin/builtin/labels/inventree_machine.py | 8 +++++--- src/backend/InvenTree/report/templatetags/report.py | 3 ++- src/backend/InvenTree/stock/filters.py | 6 ++++-- 13 files changed, 45 insertions(+), 26 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8505425941..e3b3a70f1d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -18,7 +18,7 @@ repos: exclude: mkdocs.yml - id: mixed-line-ending - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.8 + rev: v0.14.10 hooks: - id: ruff-format args: [--preview] @@ -29,7 +29,7 @@ repos: --preview ] - repo: https://github.com/astral-sh/uv-pre-commit - rev: 0.9.16 + rev: 0.9.22 hooks: - id: pip-compile name: pip-compile requirements-dev.in @@ -71,7 +71,7 @@ repos: src/frontend/vite.config.ts | )$ - repo: https://github.com/biomejs/pre-commit - rev: v2.3.8 + rev: v2.3.10 hooks: - id: biome-check additional_dependencies: ["@biomejs/biome@1.9.4"] diff --git a/src/backend/InvenTree/InvenTree/helpers_email.py b/src/backend/InvenTree/InvenTree/helpers_email.py index 74d189d5d2..de90c0d323 100644 --- a/src/backend/InvenTree/InvenTree/helpers_email.py +++ b/src/backend/InvenTree/InvenTree/helpers_email.py @@ -122,7 +122,8 @@ def get_email_for_user(user) -> Optional[str]: # Otherwise, find first matching email # Priority is given to primary or verified email addresses if ( - email := EmailAddress.objects.filter(user=user) + email := EmailAddress.objects + .filter(user=user) .order_by('-primary', '-verified') .first() ): diff --git a/src/backend/InvenTree/InvenTree/management/commands/schema.py b/src/backend/InvenTree/InvenTree/management/commands/schema.py index 5f7022411f..c71e664a94 100644 --- a/src/backend/InvenTree/InvenTree/management/commands/schema.py +++ b/src/backend/InvenTree/InvenTree/management/commands/schema.py @@ -71,7 +71,8 @@ class Command(spectacular.Command): for p_name, p_spec in spec['paths'].items(): # strip path name p_name = ( - p_name.removeprefix(dja_path_prefix) + p_name + .removeprefix(dja_path_prefix) .removeprefix('/_allauth/browser/v1/') .removeprefix('/_allauth/app/v1/') ) diff --git a/src/backend/InvenTree/InvenTree/models.py b/src/backend/InvenTree/InvenTree/models.py index 978b11532c..dcb22998ee 100644 --- a/src/backend/InvenTree/InvenTree/models.py +++ b/src/backend/InvenTree/InvenTree/models.py @@ -610,7 +610,8 @@ class InvenTreeParameterMixin(InvenTreePermissionCheckMixin, models.Model): def get_parameters(self) -> QuerySet: """Return all Parameter instances for this model.""" return ( - self.parameters_list.all() + self.parameters_list + .all() .prefetch_related('template', 'model_type') .order_by('template__name') ) @@ -752,7 +753,8 @@ class InvenTreeTree(ContentTypeMixin, MPTTModel): for child in self.get_children(): # Store a flattened list of node IDs for each of the lower trees nodes = list( - child.get_descendants(include_self=True) + child + .get_descendants(include_self=True) .values_list('pk', flat=True) .distinct() ) diff --git a/src/backend/InvenTree/common/notifications.py b/src/backend/InvenTree/common/notifications.py index bae8fe913a..880b5ba64e 100644 --- a/src/backend/InvenTree/common/notifications.py +++ b/src/backend/InvenTree/common/notifications.py @@ -177,9 +177,9 @@ def trigger_notification(obj: Model, category: str = '', obj_ref: str = 'pk', ** # Filter out any users who are inactive, or do not have the required model permissions valid_users = list( filter( - lambda u: u - and u.is_active - and (not obj or check_user_permission(u, obj, 'view')), + lambda u: ( + u and u.is_active and (not obj or check_user_permission(u, obj, 'view')) + ), list(target_users), ) ) diff --git a/src/backend/InvenTree/order/models.py b/src/backend/InvenTree/order/models.py index d159b988eb..9e79f8683c 100644 --- a/src/backend/InvenTree/order/models.py +++ b/src/backend/InvenTree/order/models.py @@ -432,7 +432,8 @@ class Order( Makes use of the overdue_filter() method to avoid code duplication """ return ( - self.__class__.objects.filter(pk=self.pk) + self.__class__.objects + .filter(pk=self.pk) .filter(self.__class__.overdue_filter()) .exists() ) diff --git a/src/backend/InvenTree/part/filters.py b/src/backend/InvenTree/part/filters.py index ad4107566e..92887e57c8 100644 --- a/src/backend/InvenTree/part/filters.py +++ b/src/backend/InvenTree/part/filters.py @@ -297,7 +297,8 @@ def annotate_variant_quantity(subquery: Q, reference: str = 'quantity') -> Query """ return Coalesce( Subquery( - subquery.annotate( + subquery + .annotate( total=Func(F(reference), function='SUM', output_field=FloatField()) ) .values('total') @@ -324,7 +325,8 @@ def annotate_category_parts() -> QuerySet: return Coalesce( Subquery( - subquery.annotate( + subquery + .annotate( total=Func(F('pk'), function='COUNT', output_field=IntegerField()) ) .values('total') @@ -369,7 +371,8 @@ def annotate_sub_categories() -> QuerySet: return Coalesce( Subquery( - subquery.annotate( + subquery + .annotate( total=Func(F('pk'), function='COUNT', output_field=IntegerField()) ) .values('total') diff --git a/src/backend/InvenTree/part/models.py b/src/backend/InvenTree/part/models.py index 6de1d544d0..4a8c640a40 100644 --- a/src/backend/InvenTree/part/models.py +++ b/src/backend/InvenTree/part/models.py @@ -225,7 +225,8 @@ class PartCategory( def prefetch_parts_parameters(self, cascade=True): """Prefectch parts parameters.""" return ( - self.get_parts(cascade=cascade) + self + .get_parts(cascade=cascade) .prefetch_related('parameters_list', 'parameters_list__template') .all() ) @@ -615,7 +616,8 @@ class Part( if previous.image is not None and self.image != previous.image: # Are there any (other) parts which reference the image? n_refs = ( - Part.objects.filter(image=previous.image) + Part.objects + .filter(image=previous.image) .exclude(pk=self.pk) .count() ) @@ -1040,7 +1042,8 @@ class Part( self.revision_of and self.revision and ( - Part.objects.exclude(pk=self.pk) + Part.objects + .exclude(pk=self.pk) .filter(revision_of=self.revision_of, revision=self.revision) .exists() ) @@ -1049,7 +1052,8 @@ class Part( # Ensure unique across (Name, revision, IPN) (as specified) if (self.revision or self.IPN) and ( - Part.objects.exclude(pk=self.pk) + Part.objects + .exclude(pk=self.pk) .filter(name=self.name, revision=self.revision, IPN=self.IPN) .exists() ): diff --git a/src/backend/InvenTree/plugin/base/barcodes/api.py b/src/backend/InvenTree/plugin/base/barcodes/api.py index 06640bc453..c67a9bed2b 100644 --- a/src/backend/InvenTree/plugin/base/barcodes/api.py +++ b/src/backend/InvenTree/plugin/base/barcodes/api.py @@ -93,7 +93,8 @@ class BarcodeView(CreateAPIView): if num_scans > max_scans: n = num_scans - max_scans old_scan_ids = list( - BarcodeScanResult.objects.all() + BarcodeScanResult.objects + .all() .order_by('timestamp') .values_list('pk', flat=True)[:n] ) diff --git a/src/backend/InvenTree/plugin/base/barcodes/mixins.py b/src/backend/InvenTree/plugin/base/barcodes/mixins.py index 2b38ef4972..99c4661f57 100644 --- a/src/backend/InvenTree/plugin/base/barcodes/mixins.py +++ b/src/backend/InvenTree/plugin/base/barcodes/mixins.py @@ -191,7 +191,8 @@ class SupplierBarcodeMixin(BarcodeMixin): q1 = Q(manufacturer=supplier) # Case 2: Supplied by this supplier m = ( - SupplierPart.objects.filter(supplier=supplier) + SupplierPart.objects + .filter(supplier=supplier) .values_list('manufacturer_part', flat=True) .distinct() ) diff --git a/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py b/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py index 2fece00a05..42657d617c 100644 --- a/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py +++ b/src/backend/InvenTree/plugin/builtin/labels/inventree_machine.py @@ -143,9 +143,11 @@ class InvenTreeLabelPlugin(LabelPrintingMixin, InvenTreePlugin): last_used_printers = get_last_used_printers(user)[::-1] machines = sorted( machines, - key=lambda m: last_used_printers.index(str(m.pk)) - if str(m.pk) in last_used_printers - else -1, + key=lambda m: ( + last_used_printers.index(str(m.pk)) + if str(m.pk) in last_used_printers + else -1 + ), reverse=True, ) diff --git a/src/backend/InvenTree/report/templatetags/report.py b/src/backend/InvenTree/report/templatetags/report.py index 6329b5a9dc..5027915206 100644 --- a/src/backend/InvenTree/report/templatetags/report.py +++ b/src/backend/InvenTree/report/templatetags/report.py @@ -350,7 +350,8 @@ def parameter( raise TypeError("parameter tag requires a Model with 'parameters' attribute") return ( - instance.parameters.prefetch_related('template') + instance.parameters + .prefetch_related('template') .filter(template__name=parameter_name) .first() ) diff --git a/src/backend/InvenTree/stock/filters.py b/src/backend/InvenTree/stock/filters.py index 0baf125875..e10479b580 100644 --- a/src/backend/InvenTree/stock/filters.py +++ b/src/backend/InvenTree/stock/filters.py @@ -28,7 +28,8 @@ def annotate_location_items(filter: Optional[Q] = None): return Coalesce( Subquery( - subquery.annotate( + subquery + .annotate( total=Func(F('pk'), function='COUNT', output_field=IntegerField()) ) .values('total') @@ -50,7 +51,8 @@ def annotate_sub_locations(): return Coalesce( Subquery( - subquery.annotate( + subquery + .annotate( count=Func(F('pk'), function='COUNT', output_field=IntegerField()) ) .values('count')