@extends(pm.nodetypes.Shot)
    def playblast(self, options=None):
        """creates the selected shot playblasts
        """
        # template vars
        sequence = self.sequence

        try:
            handle = self.handle.get()
        except AttributeError:
            # no handle is created probably the shot setup has not been done
            # correctly
            self.set_handle()
            handle = self.handle.get()

        start_frame = self.sequenceStartFrame.get() - handle
        end_frame = self.sequenceEndFrame.get() + handle
        width = self.wResolution.get()
        height = self.hResolution.get()

        extra_frame = 0

        if platform.system() == 'Windows':
            # windows Maya version drops 1 frame from end where as Linux
            # doesn't do that
            extra_frame = 1

        # store track
        track = self.track.get()

        movie_full_path = os.path.join(
            tempfile.gettempdir(),
            self.full_shot_name % '%s.mov'
        ).replace('\\', '/')

        # set the output of this shot
        self.set_output(movie_full_path)

        # mute all other shots
        sequence.mute_shots()
        self.unmute()

        default_options = {
            'fmt': 'qt',
            'sequenceTime': 1,
            'forceOverwrite': 1,
            'clearCache': 1,
            'showOrnaments': 1,
            'percent': 50,
            'offScreen': 1,
            'viewer': 0,
            'compression': 'MPEG-4 Video',
            'quality': 85,
            'startTime': start_frame,
            'endTime': end_frame + extra_frame,
            'filename': movie_full_path,
            'wh': [width, height],
            'useTraxSounds': True,
        }

        if options:
            # offset end time by one frame if t his is windows
            if 'endTime' in options:
                options['endTime'] += extra_frame
            default_options.update(options)

        # include handles
        with self.include_handles:
            pm.system.dgdirty(a=True)

            # if a sound node is specified remove useTraxSounds flag
            import pprint
            pprint.pprint(default_options)

            result = pm.playblast(**default_options)
            sequence.unmute_shots()

        # restore track
        self.track.set(track)

        return result
dataset/ETHPy150Open eoyilmaz/anima/anima/env/mayaEnv/extension.py/ShotExtension.playblast/swapped operands of `%`