From 56ad9fba13a67abe5b26f8d1a1300516333894e8 Mon Sep 17 00:00:00 2001 From: Gregoo Date: Wed, 29 Jan 2025 17:59:59 +0100 Subject: [PATCH] url_for_missing should be part of BrickPart, not RebrickablePart --- bricktracker/part.py | 19 +++++++++++++++++++ bricktracker/rebrickable_part.py | 17 ----------------- 2 files changed, 19 insertions(+), 17 deletions(-) diff --git a/bricktracker/part.py b/bricktracker/part.py index 495059f..ac85a11 100644 --- a/bricktracker/part.py +++ b/bricktracker/part.py @@ -2,6 +2,8 @@ import logging from typing import Any, Self, TYPE_CHECKING import traceback +from flask import url_for + from .exceptions import ErrorException, NotFoundException from .rebrickable_part import RebrickablePart from .sql import BrickSQL @@ -169,3 +171,20 @@ class BrickPart(RebrickablePart): 'part/update/missing', parameters=self.sql_parameters() ) + + # Compute the url for missing part + def url_for_missing(self, /) -> str: + # Different URL for a minifigure part + if self.minifigure is not None: + figure = self.minifigure.fields.figure + else: + figure = None + + return url_for( + 'set.missing_part', + id=self.fields.id, + figure=figure, + part=self.fields.part, + color=self.fields.color, + spare=self.fields.spare, + ) diff --git a/bricktracker/rebrickable_part.py b/bricktracker/rebrickable_part.py index 8224d98..eea6d08 100644 --- a/bricktracker/rebrickable_part.py +++ b/bricktracker/rebrickable_part.py @@ -117,23 +117,6 @@ class RebrickablePart(BrickRecord): else: return self.fields.image - # Compute the url for missing part - def url_for_missing(self, /) -> str: - # Different URL for a minifigure part - if self.minifigure is not None: - figure = self.minifigure.fields.figure - else: - figure = None - - return url_for( - 'set.missing_part', - id=self.fields.id, - figure=figure, - part=self.fields.part, - color=self.fields.color, - spare=self.fields.spare, - ) - # Compute the url for the original of the printed part def url_for_print(self, /) -> str: return url_for(