def dedupe(self, calls):
        """
        Deduplicate a list of `tasks <.Call>`.

        :param calls: An iterable of `.Call` objects representing tasks.

        :returns: A list of `.Call` objects.
        """
        deduped = []
        debug("Deduplicating tasks...")
        for call in calls:
            if call not in deduped:
                debug("{0!r}: no duplicates found, ok".format(call))
                deduped.append(call)
            else:
                debug("{0!r}: found in list already, skipping".format(call))
        return deduped
dataset/ETHPy150Open pyinvoke/invoke/invoke/executor.py/Executor.dedupe/original