def add_line(self, line='<STR_LIT>', *, empty=False):
max_page_size = self.max_size - self._prefix_len - <NUM_LIT:2><EOL>if len(line) > max_page_size:<EOL><INDENT>raise RuntimeError('<STR_LIT>' % (max_page_size))<EOL><DEDENT>if self._count + len(line) + <NUM_LIT:1> > self.max_size:<EOL><INDENT>self.close_page()<EOL><DEDENT>self._count += len(line) + <NUM_LIT:1><EOL>self._current_page.append(line)<EOL>if empty:<EOL><INDENT>self._current_page.append('<STR_LIT>')<EOL>self._count += <NUM_LIT:1><EOL><DEDENT>
Adds a line to the current page.

        If the line exceeds the :attr:`max_size` then an exception
        is raised.

        Parameters
        -----------
        line: :class:`str`
            The line to add.
        empty: :class:`bool`
            Indicates if another empty line should be added.

        Raises
        ------
        RuntimeError
            The line was too big for the current :attr:`max_size`.