def submit_poll(self, poll, *, request_policy=None):
if poll.id is not None:<EOL><INDENT>raise ExistingPoll()<EOL><DEDENT>options = poll.options<EOL>data = {<EOL>'<STR_LIT:title>': poll.title,<EOL>'<STR_LIT>': options,<EOL>'<STR_LIT>': poll.multi,<EOL>'<STR_LIT>': poll.dupcheck,<EOL>'<STR_LIT>': poll.captcha<EOL>}<EOL>return self._http_client.post(self._POLLS,<EOL>data=data,<EOL>request_policy=request_policy,<EOL>cls=strawpoll.Poll)<EOL>
Submits a poll on strawpoll.

        :param poll: The poll to submit.
        :type poll: :class:`Poll`
        :param request_policy: Overrides :attr:`API.requests_policy` for that \
        request.
        :type request_policy: Optional[:class:`RequestsPolicy`]

        :raises ExistingPoll: This poll instance has already been submitted.
        :raises HTTPException: The submission failed.

        :returns: The given poll updated with the data sent back from the submission.
        :rtype: :class:`Poll`

        .. note::
            Only polls that have a non empty title and between 2 and 30 options
            can be submitted.