Merge pull request #507 from dsschult/sort_signed

Allow sorting by negative numbers
This commit is contained in:
Simon Conseil
2024-01-18 19:31:41 +01:00
committed by GitHub
4 changed files with 7 additions and 7 deletions

View File

@@ -515,7 +515,7 @@ class Album:
continue
return ""
key = natsort_keygen(key=sort_key, alg=ns.LOCALE)
key = natsort_keygen(key=sort_key, alg=ns.SIGNED|ns.LOCALE)
self.subdirs.sort(key=key, reverse=reverse)
signals.albums_sorted.send(self)
@@ -530,11 +530,11 @@ class Album:
elif medias_sort_attr.startswith("meta."):
meta_key = medias_sort_attr.split(".", 1)[1]
key = natsort_keygen(
key=lambda s: s.meta.get(meta_key, [""])[0], alg=ns.LOCALE
key=lambda s: s.meta.get(meta_key, [""])[0], alg=ns.SIGNED|ns.LOCALE
)
else:
key = natsort_keygen(
key=lambda s: getattr(s, medias_sort_attr), alg=ns.LOCALE
key=lambda s: getattr(s, medias_sort_attr), alg=ns.SIGNED|ns.LOCALE
)
self.medias.sort(key=key, reverse=self.settings["medias_sort_reverse"])

View File

@@ -1,4 +1,4 @@
Title: in"title"
Order: 01
Order: -10
in"description

View File

@@ -1 +1,2 @@
Order: 01
Order: -10
PartialOrder: 01

View File

@@ -234,8 +234,7 @@ def test_albums_sort(settings):
a.sort_subdirs("title")
assert [im.title for im in a.albums] == list(reversed(titles))
orders = ["01", "02", "03"]
orders.sort()
orders = ["-10", "02", "03"]
settings["albums_sort_reverse"] = False
a = Album("dir1", settings, album["subdirs"], album["medias"], gal)
a.sort_subdirs("meta.order")