diff --git a/plexpy/datafactory.py b/plexpy/datafactory.py index bd5a7c31..0937480d 100644 --- a/plexpy/datafactory.py +++ b/plexpy/datafactory.py @@ -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 diff --git a/plexpy/helpers.py b/plexpy/helpers.py index e8056eb4..25850a16 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -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)}