diff --git a/etiquette/objects.py b/etiquette/objects.py index 595ca79..14708d4 100644 --- a/etiquette/objects.py +++ b/etiquette/objects.py @@ -172,12 +172,7 @@ class GroupableMixin(metaclass=abc.ABCMeta): [self.id] ) child_ids = [row[0] for row in child_rows] - children = self.group_getter_many(child_ids) - - if isinstance(self, Tag): - children = sorted(children, key=lambda x: x.name) - else: - children = sorted(children, key=lambda x: x.id) + children = set(self.group_getter_many(child_ids)) return children def get_parents(self): @@ -417,8 +412,8 @@ class Album(ObjectBase, GroupableMixin): 'SELECT directory FROM album_associated_directories WHERE albumid == ?', [self.id] ) - directories = [x[0] for x in directory_rows] - directories = [pathclass.Path(x) for x in directories] + directories = (x[0] for x in directory_rows) + directories = set(pathclass.Path(x) for x in directories) return directories def get_photos(self): @@ -428,8 +423,7 @@ class Album(ObjectBase, GroupableMixin): [self.id] ) photo_ids = [row[0] for row in generator] - photos = self.photodb.get_photos_by_id(photo_ids) - photos = sorted(photos, key=lambda x: x.basename.lower()) + photos = set(self.photodb.get_photos_by_id(photo_ids)) return photos def has_any_associated_directory(self): diff --git a/frontends/etiquette_flask/backend/jinja_filters.py b/frontends/etiquette_flask/backend/jinja_filters.py index ce91191..3a727a9 100644 --- a/frontends/etiquette_flask/backend/jinja_filters.py +++ b/frontends/etiquette_flask/backend/jinja_filters.py @@ -43,11 +43,6 @@ def file_link(photo, short=False): basename = jinja2.filters.do_urlencode(photo.basename) return f'/file/{photo.id}/{basename}' -@filter_function -def sort_tags(tags): - tags = sorted(tags, key=lambda x: x.name) - return tags - @filter_function def timestamp_to_8601(timestamp): return datetime.datetime.utcfromtimestamp(timestamp).isoformat(' ') + ' UTC' diff --git a/frontends/etiquette_flask/templates/album.html b/frontends/etiquette_flask/templates/album.html index 18b3d05..fdeda27 100644 --- a/frontends/etiquette_flask/templates/album.html +++ b/frontends/etiquette_flask/templates/album.html @@ -256,7 +256,7 @@ const ALBUM_ID = undefined;

{{photos|length}} Photos

- {% for photo in photos %} + {% for photo in photos|sort(attribute='basename', case_sensitive=False) %} {{photo_card.create_photo_card(photo, view=view)}} {% endfor %}
diff --git a/frontends/etiquette_flask/templates/photo.html b/frontends/etiquette_flask/templates/photo.html index 28c4b5e..662e921 100644 --- a/frontends/etiquette_flask/templates/photo.html +++ b/frontends/etiquette_flask/templates/photo.html @@ -143,7 +143,7 @@ - {% set tags = photo.get_tags()|sort_tags %} + {% set tags = photo.get_tags()|sort(attribute='name') %} {% for tag in tags %}
  • {{tag_object.tag_object(tag, with_alt_description=True)}}