<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def propose(self, template_address, account):
 """ Propose a new template. :param template_address: Address of the template contract, str :param account: account proposing the template, Account :return: bool """

        try:
            proposed = self._keeper.template_manager.propose_template(template_address, account)
            return proposed
        except ValueError as err:
            template_values = self._keeper.template_manager.get_template(template_address)
            if not template_values:
                logger.warning(f'Propose template failed: {err}')
                return False

            if template_values.state != 1:
                logger.warning(
                    f'Propose template failed, current state is set to {template_values.state}')
                return False

            return True