Use group_by_keys helper for library stats

This commit is contained in:
JonnyWong16 2023-10-10 19:32:30 -07:00
commit d8d1f75605
No known key found for this signature in database
GPG key ID: B1F1F9807184697A
2 changed files with 4 additions and 3 deletions

View file

@ -22,7 +22,6 @@ from future.builtins import str
from future.builtins import object
import json
from itertools import groupby
import plexpy
if plexpy.PYTHON2:
@ -1187,7 +1186,7 @@ class DataFactory(object):
library_stats.append(library)
library_stats = session.mask_session_info(library_stats)
library_stats = {k: list(v) for k, v in groupby(library_stats, key=lambda x: x['section_type'])}
library_stats = helpers.group_by_keys(library_stats, 'section_type')
return library_stats

View file

@ -1244,8 +1244,10 @@ def grouper(iterable, n, fillvalue=None):
def group_by_keys(iterable, keys):
key_function = operator.itemgetter(*keys)
if not isinstance(keys, (list, tuple)):
keys = [keys]
key_function = operator.itemgetter(*keys)
sorted_iterable = sorted(iterable, key=key_function)
return {key: list(group) for key, group in groupby(sorted_iterable, key_function)}