:py:mod:`calliope.diff` ======================= .. py:module:: calliope.diff Package Contents ---------------- Functions ~~~~~~~~~ .. autoapisummary:: calliope.diff.creator_equal calliope.diff.album_equal calliope.diff.song_equal calliope.diff.track_equal calliope.diff.diff .. py:function:: creator_equal(a, b) True if creator (artist) of ``a`` and ``b`` are the same. Considers properties: * ``musicbrainz.artist_id`` * ``creator`` (case insensitive) .. py:function:: album_equal(a, b) True if ``a`` and ``b`` represent the same album (release group). Considers properties: * ``musicbrainz.release_group_id`` * ``musicbrainz.release_id`` * ``album`` and ``creator`` (case insensitive) .. py:function:: song_equal(a, b) True if ``a`` and ``b`` represent the same song (recording). Considers :meth:`creator_equal`, plus these properties properties: * ``identifier`` * ``musicbrainz.recording_id`` * ``title`` (case insensitive) .. py:function:: track_equal(a, b) True if ``a`` and ``b`` represent the same track on the same album. Considers :meth:`song_equal`, :meth:`album_equal`, plus these properties: * ``musicbrainz.track_id`` * ``trackNum`` .. py:function:: diff(playlist_a, playlist_b, equal_function=None) Calculate difference between two playlists. Playlists are sets of items. Two items are equal according to ``equal_function``. This function calculates set difference between ``playlist_a`` and ``playlist_b``, returning all items from ``playlist_a`` which do not have a counterpart in ``playlist_b``.