class Curangel(Thread): def __init__(self, user, postingKey): self.steem = Steem(keys=[postingKey], nodes=steemd_nodes) self.user = user self.voter = Voter(self.steem, user) self.last_update_duration = 0 super().__init__(None) self.daemon = True def wait_for_recharge(self): while True: current_vp = self.voter.get_current_vp() if current_vp >= 9990: return else: t = "voting power at {:0.2f}%; " t += "estimated 100% in {}.\n" t += "waking up in {:0.3f}s." recharge_time = self.voter.get_recharge_time() sleep_s = recharge_time.total_seconds() if sleep_s > 0: print( t.format(current_vp / 100, str(recharge_time), sleep_s)) sleep(min([sleep_s, MONITOR_INTERVAL_SEC])) else: return def run(self): while True: try: self.wait_for_recharge() uri, id = self.voter.next_in_queue(self.steem) if uri is False: print("\nqueue is empty. Sleeping for a minute.") sleep(60) else: self.voter.vote(uri, id) except Exception: # log exception, sleep 10 seconds and retry print(format_exc()) sleep(10) print("\nretrying after exception...") pass
def submit_vote(): message = 'Success!' try: t = ClientTallier(random.choice(tallier_endpoints)) voter = Voter(session['username'], r, t, e) success = voter.vote(request.form['evote'], json.loads(request.form['proof'])) if not success: message = "Something went wrong, please try again" except Exception: message = 'Something went wrong, please try again' return message
def submit_vote(): message = 'Success!' try: e, tallier_endpoints = r.get_election(int(request.form['eid'])) if not e: message = 'Invalid Election ID' return render_template('voting_interface.html', submit_vote_msg=message) t = ClientTallier(random.choice(tallier_endpoints)) voter = Voter(request.form['voter_id'], r, t, e) success = voter.vote(request.form['candidate']) if not success: message = 'Vote not cast: your vote was either invalid or already cast' except Exception: message = 'Something went wrong, please try again' return render_template('voting_interface.html', submit_vote_msg=message)