current_cycle = last_cycle + timedelta(seconds=60 * share_cycle_min) print("Update member database, new cycle: %s" % str(new_cycle)) # memberStorage.wipe(True) member_accounts = memberStorage.get_all_accounts() #print(key_list) nodes = NodeList() nodes.update_nodes() stm = Steem(node=nodes.get_nodes()) member_data = {} n_records = 0 share_age_member = {} for m in member_accounts: member_data[m] = Member(memberStorage.get(m)) if True: print("reward voted steembasicincome post and comments") # account = Account("steembasicincome", steem_instance=stm) if last_paid_post is None: last_paid_post = datetime(2018, 8, 9, 3, 36, 48) new_paid_post = last_paid_post if last_paid_comment is None: last_paid_comment = datetime(2018, 8, 9, 3, 36, 48) # elif (datetime.utcnow() - last_paid_comment).total_seconds() / 60 / 60 / 24 < 6.5: # last_paid_comment = datetime.utcnow() - timedelta(days=7) new_paid_comment = last_paid_comment for account in accounts:
"RemovedDelegation", "Delegation", "DelegationLeased", "Mgmt", "MgmtTransfer" ]: continue sponsor = op["sponsor"] sponsee = json.loads(op["sponsee"]) shares = op["shares"] share_age = 0 if isinstance(op["timestamp"], str): timestamp = formatTimeString(op["timestamp"]) else: timestamp = op["timestamp"] if shares == 0: continue if sponsor not in member_data: member = Member(sponsor, shares, timestamp) member.append_share_age(timestamp, shares) member_data[sponsor] = member else: member_data[sponsor]["latest_enrollment"] = timestamp member_data[sponsor]["shares"] += shares member_data[sponsor].append_share_age(timestamp, shares) if len(sponsee) == 0: continue for s in sponsee: shares = sponsee[s] if s not in member_data: member = Member(s, shares, timestamp) member.append_share_age(timestamp, shares) member_data[s] = member else:
created = post_list[authorperm]["created"] if (datetime.utcnow() - created).total_seconds() > 3 * 24 * 60 * 60: continue if (start_timestamp > created): continue author = post_list[authorperm]["author"] if author not in member_accounts: continue if upvote_counter[author] > 0: continue if post_list[authorperm]["main_post"] == 0 and ( datetime.utcnow() - created).total_seconds() > comment_vote_timeout_h * 60 * 60: postTrx.update_comment_to_old(author, created, True) member = Member(memberStorage.get(author)) if member["comment_upvote"] == 0 and post_list[authorperm][ "main_post"] == 0: continue if member["blacklisted"]: continue elif member["blacklisted"] is None and (member["steemcleaners"] or member["buildawhale"]): continue rshares = member["balance_rshares"] / comment_vote_divider if post_list[authorperm][ "main_post"] == 1 and rshares < minimum_vote_threshold: continue elif post_list[authorperm][ "main_post"] == 0 and rshares < minimum_vote_threshold * 2:
#print(key_list) nodes = NodeList() nodes.update_nodes() stm = Steem(keys=keys_list, node=nodes.get_nodes(hive=hive_blockchain)) if memo_transfer_acc is not None: try: memo_transfer_acc = Account(memo_transfer_acc, steem_instance=stm) except: print("%s is not a valid steem account! Will be able to send transfer memos..." % memo_transfer_acc) member_data = {} n_records = 0 share_age_member = {} for m in member_accounts: member_data[m] = Member(memberStorage.get(m)) mngt_shares_assigned = False mngt_shares = 0 delegation = {} delegation_timestamp = {} # clear shares for m in member_data: member_data[m]["shares"] = 0 member_data[m]["bonus_shares"] = 0 delegation[m] = 0 delegation_timestamp[m] = None member_data[m].reset_share_age_list() shares_sum = 0 latest_share = trxStorage.get_lastest_share_type("Mgmt")