def disapproveproposal(self, proposal_ids, account=None, approver=None, **kwargs):
from .proposal import Proposal<EOL>if not account:<EOL><INDENT>if "<STR_LIT>" in self.config:<EOL><INDENT>account = self.config["<STR_LIT>"]<EOL><DEDENT><DEDENT>if not account:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>account = Account(account, blockchain_instance=self)<EOL>if not approver:<EOL><INDENT>approver = account<EOL><DEDENT>else:<EOL><INDENT>approver = Account(approver, blockchain_instance=self)<EOL><DEDENT>if not isinstance(proposal_ids, (list, set, tuple)):<EOL><INDENT>proposal_ids = {proposal_ids}<EOL><DEDENT>op = []<EOL>for proposal_id in proposal_ids:<EOL><INDENT>proposal = Proposal(proposal_id, blockchain_instance=self)<EOL>op.append(<EOL>operations.Proposal_update(<EOL>**{<EOL>"<STR_LIT>": {"<STR_LIT>": <NUM_LIT:0>, "<STR_LIT>": "<STR_LIT>"},<EOL>"<STR_LIT>": account["<STR_LIT:id>"],<EOL>"<STR_LIT>": proposal["<STR_LIT:id>"],<EOL>"<STR_LIT>": [approver["<STR_LIT:id>"]],<EOL>"<STR_LIT>": self.prefix,<EOL>}<EOL>)<EOL>)<EOL><DEDENT>return self.finalizeOp(op, account["<STR_LIT:name>"], "<STR_LIT>", **kwargs)<EOL>
Disapprove Proposal

            :param list proposal_ids: Ids of the proposals
            :param str account: (optional) the account to allow access
                to (defaults to ``default_account``)