From 4b60073ef06a76c87ed487cebd51f1e71e2190cb Mon Sep 17 00:00:00 2001 From: tcely Date: Mon, 2 Dec 2024 10:38:22 -0500 Subject: [PATCH] Add multiple key sorting --- tubesync/sync/utils.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tubesync/sync/utils.py b/tubesync/sync/utils.py index cf72462e..f49c9894 100644 --- a/tubesync/sync/utils.py +++ b/tubesync/sync/utils.py @@ -1,6 +1,7 @@ import os import re import math +from operator import itemgetter from pathlib import Path import requests from PIL import Image @@ -134,6 +135,15 @@ def seconds_to_timestr(seconds): return '{:02d}:{:02d}:{:02d}'.format(hour, minutes, seconds) +def multi_key_sort(sort_dict, specs, use_reversed=False): + result = list(sort_dict) + for key, reverse in reversed(specs): + result = sorted(result, key=itemgetter(key), reverse=reverse) + if use_reversed: + return list(reversed(result)) + return result + + def parse_media_format(format_dict): ''' This parser primarily adapts the format dict returned by youtube-dl into a