[docs]
class SplitMergeMixin:
""" Mixin for Plex objects that can be split and merged. """
[docs]
def split(self):
""" Split duplicated Plex object into separate objects. """
key = f'{self.key}/split'
self._server.query(key, method=self._server._session.put)
return self
[docs]
def merge(self, ratingKeys):
""" Merge other Plex objects into the current object.
Parameters:
ratingKeys (list): A list of rating keys to merge.
"""
if not isinstance(ratingKeys, list):
ratingKeys = str(ratingKeys).split(',')
key = f"{self.key}/merge?ids={','.join(str(r) for r in ratingKeys)}"
self._server.query(key, method=self._server._session.put)
return self