diff --git a/plexpy/exporter.py b/plexpy/exporter.py index b20d96d5..3e4fc909 100644 --- a/plexpy/exporter.py +++ b/plexpy/exporter.py @@ -1728,6 +1728,9 @@ class Export(object): if self.file_format == 'csv': csv_data = helpers.flatten_dict(result) csv_headers = sorted(set().union(*csv_data), key=helpers.sort_attrs) + # Move ratingKey, title, and titleSort to front of headers + for key in ('titleSort', 'title', 'ratingKey'): + csv_headers = helpers.move_to_front(csv_headers, key) with open(filepath, 'w', encoding='utf-8', newline='') as outfile: writer = csv.DictWriter(outfile, csv_headers) writer.writeheader() diff --git a/plexpy/helpers.py b/plexpy/helpers.py index 55cba024..26c7378d 100644 --- a/plexpy/helpers.py +++ b/plexpy/helpers.py @@ -1465,6 +1465,14 @@ def dict_to_xml(d, root_node=None, indent=None, level=0): return xml +def move_to_front(l, value): + try: + l.insert(0, l.pop(l.index(value))) + except (ValueError, IndexError): + pass + return l + + def is_hdr(bit_depth, color_space): bit_depth = cast_to_int(bit_depth) return bit_depth > 8 and color_space == 'bt2020nc'