def cut(self, mode='<STR_LIT>', feed=True):
if not feed:<EOL><INDENT>self._raw(GS + b'<STR_LIT>' + six.int2byte(<NUM_LIT>) + b'<STR_LIT:\x00>')<EOL>return<EOL><DEDENT>self.print_and_feed(<NUM_LIT:6>)<EOL>mode = mode.upper()<EOL>if mode not in ('<STR_LIT>', '<STR_LIT>'):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>if mode == "<STR_LIT>":<EOL><INDENT>if self.profile.supports('<STR_LIT>'):<EOL><INDENT>self._raw(PAPER_PART_CUT)<EOL><DEDENT>elif self.profile.supports('<STR_LIT>'):<EOL><INDENT>self._raw(PAPER_FULL_CUT)<EOL><DEDENT><DEDENT>elif mode == "<STR_LIT>":<EOL><INDENT>if self.profile.supports('<STR_LIT>'):<EOL><INDENT>self._raw(PAPER_FULL_CUT)<EOL><DEDENT>elif self.profile.supports('<STR_LIT>'):<EOL><INDENT>self._raw(PAPER_PART_CUT)<EOL><DEDENT><DEDENT>
Cut paper.

        Without any arguments the paper will be cut completely. With 'mode=PART' a partial cut will
        be attempted. Note however, that not all models can do a partial cut. See the documentation of
        your printer for details.

        .. todo:: Check this function on TM-T88II.

        :param mode: set to 'PART' for a partial cut. default: 'FULL'
        :param feed: print and feed before cutting. default: true
        :raises ValueError: if mode not in ('FULL', 'PART')