Example #1
0
    def get_relationships(self, include_list, item):
        relationships = {}

        if 'votes' in include_list:
            relationships['votes'] = DemocracyVote.query(self.session).filter_by(
                democracy_referendum_id=item.id
            ).order_by(DemocracyVote.updated_at_block.desc())

        return relationships
    def sequencing_hook(self, db_session, parent_block_data, parent_sequenced_block_data):

        for vote_audit in DemocracyVoteAudit.query(db_session).filter_by(block_id=self.block.id).order_by('extrinsic_idx'):

            try:
                vote = DemocracyVote.query(db_session).filter_by(
                    democracy_referendum_id=vote_audit.democracy_referendum_id,
                    stash_account_id=vote_audit.data.get('stash_account_id')
                ).one()

                vote.updated_at_block = self.block.id

            except NoResultFound:

                vote = DemocracyVote(
                    democracy_referendum_id=vote_audit.democracy_referendum_id,
                    created_at_block=self.block.id,
                    updated_at_block=self.block.id,
                    stash_account_id=vote_audit.data.get('stash_account_id')
                )

            vote.vote_account_id = vote_audit.data.get('vote_account_id')
            vote.vote_raw = vote_audit.data.get('vote_raw')
            vote.vote_yes = vote_audit.data.get('vote_yes')
            vote.vote_no = vote_audit.data.get('vote_no')
            vote.stash = vote_audit.data.get('stash')
            vote.conviction = vote_audit.data.get('conviction')
            vote.vote_yes_weighted = vote_audit.data.get('vote_yes_weighted')
            vote.vote_no_weighted = vote_audit.data.get('vote_no_weighted')

            vote.save(db_session)