From 9642853d8efd378f0dfc517a6e79c71c3c5c1149 Mon Sep 17 00:00:00 2001 From: Gregoo Date: Tue, 4 Feb 2025 17:38:26 +0100 Subject: [PATCH] Sort metadata lists by name for more consistency --- bricktracker/metadata_list.py | 5 +++-- bricktracker/set_owner_list.py | 3 ++- bricktracker/set_purchase_location_list.py | 7 +++++-- bricktracker/set_status_list.py | 3 ++- bricktracker/set_storage_list.py | 7 +++++-- bricktracker/set_tag_list.py | 5 +++-- bricktracker/sql/set/metadata/owner/base.sql | 6 +++++- bricktracker/sql/set/metadata/purchase_location/base.sql | 4 ++++ bricktracker/sql/set/metadata/status/base.sql | 6 +++++- bricktracker/sql/set/metadata/tag/base.sql | 6 +++++- 10 files changed, 39 insertions(+), 13 deletions(-) diff --git a/bricktracker/metadata_list.py b/bricktracker/metadata_list.py index 7124548..a7df752 100644 --- a/bricktracker/metadata_list.py +++ b/bricktracker/metadata_list.py @@ -30,8 +30,9 @@ class BrickMetadataList(BrickRecordList[T]): mapping: dict[str, T] model: Type[T] - # Database table + # Database table: str + order: str # Queries select_query: str @@ -73,7 +74,7 @@ class BrickMetadataList(BrickRecordList[T]): self.__class__.mapping = {} # Load the metadata from the database - for record in self.select(): + for record in self.select(order=self.order): metadata = model(record=record) self.__class__.records.append(metadata) diff --git a/bricktracker/set_owner_list.py b/bricktracker/set_owner_list.py index 7d3b8f5..74219a7 100644 --- a/bricktracker/set_owner_list.py +++ b/bricktracker/set_owner_list.py @@ -11,8 +11,9 @@ logger = logging.getLogger(__name__) class BrickSetOwnerList(BrickMetadataList[BrickSetOwner]): kind: str = 'set owners' - # Database table + # Database table: str = 'bricktracker_set_owners' + order: str = '"bricktracker_metadata_owners"."name"' # Queries select_query = 'set/metadata/owner/list' diff --git a/bricktracker/set_purchase_location_list.py b/bricktracker/set_purchase_location_list.py index 3ffae4b..d49a1eb 100644 --- a/bricktracker/set_purchase_location_list.py +++ b/bricktracker/set_purchase_location_list.py @@ -15,9 +15,12 @@ class BrickSetPurchaseLocationList( ): kind: str = 'set purchase locations' + # Order + order: str = '"bricktracker_metadata_purchase_locations"."name"' + # Queries - select_query = 'set/metadata/purchase_location/list' - all_query = 'set/metadata/purchase_location/all' + select_query: str = 'set/metadata/purchase_location/list' + all_query: str = 'set/metadata/purchase_location/all' # Set value endpoint set_value_endpoint: str = 'set.update_purchase_location' diff --git a/bricktracker/set_status_list.py b/bricktracker/set_status_list.py index e238f62..c40731c 100644 --- a/bricktracker/set_status_list.py +++ b/bricktracker/set_status_list.py @@ -11,8 +11,9 @@ logger = logging.getLogger(__name__) class BrickSetStatusList(BrickMetadataList[BrickSetStatus]): kind: str = 'set statuses' - # Database table + # Database table: str = 'bricktracker_set_statuses' + order: str = '"bricktracker_metadata_statuses"."name"' # Queries select_query = 'set/metadata/status/list' diff --git a/bricktracker/set_storage_list.py b/bricktracker/set_storage_list.py index 77be716..7e62333 100644 --- a/bricktracker/set_storage_list.py +++ b/bricktracker/set_storage_list.py @@ -13,9 +13,12 @@ logger = logging.getLogger(__name__) class BrickSetStorageList(BrickMetadataList[BrickSetStorage]): kind: str = 'set storages' + # Order + order: str = '"bricktracker_metadata_storages"."name"' + # Queries - select_query = 'set/metadata/storage/list' - all_query = 'set/metadata/storage/all' + select_query: str = 'set/metadata/storage/list' + all_query: str = 'set/metadata/storage/all' # Set value endpoint set_value_endpoint: str = 'set.update_storage' diff --git a/bricktracker/set_tag_list.py b/bricktracker/set_tag_list.py index 822ac3b..9ed0d91 100644 --- a/bricktracker/set_tag_list.py +++ b/bricktracker/set_tag_list.py @@ -11,11 +11,12 @@ logger = logging.getLogger(__name__) class BrickSetTagList(BrickMetadataList[BrickSetTag]): kind: str = 'set tags' - # Database table + # Database table: str = 'bricktracker_set_tags' + order: str = '"bricktracker_metadata_tags"."name"' # Queries - select_query = 'set/metadata/tag/list' + select_query: str = 'set/metadata/tag/list' # Instantiate the list with the proper class @classmethod diff --git a/bricktracker/sql/set/metadata/owner/base.sql b/bricktracker/sql/set/metadata/owner/base.sql index 095ae3d..f36d023 100644 --- a/bricktracker/sql/set/metadata/owner/base.sql +++ b/bricktracker/sql/set/metadata/owner/base.sql @@ -3,4 +3,8 @@ SELECT "bricktracker_metadata_owners"."name" FROM "bricktracker_metadata_owners" -{% block where %}{% endblock %} \ No newline at end of file +{% block where %}{% endblock %} + +{% if order %} +ORDER BY {{ order }} +{% endif %} diff --git a/bricktracker/sql/set/metadata/purchase_location/base.sql b/bricktracker/sql/set/metadata/purchase_location/base.sql index 8ac33ca..c0a0ce0 100644 --- a/bricktracker/sql/set/metadata/purchase_location/base.sql +++ b/bricktracker/sql/set/metadata/purchase_location/base.sql @@ -4,3 +4,7 @@ SELECT FROM "bricktracker_metadata_purchase_locations" {% block where %}{% endblock %} + +{% if order %} +ORDER BY {{ order }} +{% endif %} diff --git a/bricktracker/sql/set/metadata/status/base.sql b/bricktracker/sql/set/metadata/status/base.sql index b1b2167..d962cc2 100644 --- a/bricktracker/sql/set/metadata/status/base.sql +++ b/bricktracker/sql/set/metadata/status/base.sql @@ -4,4 +4,8 @@ SELECT "bricktracker_metadata_statuses"."displayed_on_grid" FROM "bricktracker_metadata_statuses" -{% block where %}{% endblock %} \ No newline at end of file +{% block where %}{% endblock %} + +{% if order %} +ORDER BY {{ order }} +{% endif %} diff --git a/bricktracker/sql/set/metadata/tag/base.sql b/bricktracker/sql/set/metadata/tag/base.sql index 3ec5725..7e6f03b 100644 --- a/bricktracker/sql/set/metadata/tag/base.sql +++ b/bricktracker/sql/set/metadata/tag/base.sql @@ -3,4 +3,8 @@ SELECT "bricktracker_metadata_tags"."name" FROM "bricktracker_metadata_tags" -{% block where %}{% endblock %} \ No newline at end of file +{% block where %}{% endblock %} + +{% if order %} +ORDER BY {{ order }} +{% endif %}