def commandAdd(self, command): """ Add a new agent display the address and balance add the agent to the profiles """ if len(command) < 2: self.writeConsole('You need to supply a seed value') return self.agentSeed = command[1] util.getAgent(self) util.getAddress(self) util.initialTip(self) util.getBalance(self) self.agentNick = util.getNick(self, self.agentAddress) conn = db.open() c = conn.cursor() c.execute('select id from profiles where seed=?;', (command[1],)) id = c.fetchone() if id is None: c.execute('insert into profiles (nick, seed) values (?,?);', (str(self.agentNick), str(self.agentSeed))) else: c.execute('update profiles set nick=? where seed=?;', (str(self.agentNick), str(self.agentSeed))) db.close(conn) self.writeConsole('Agent created.\nAddress is ' + str(self.agentAddress) + '\nBalance is ' + str(self.agentBalance) + ' ' + str(self.unit)) #check for new nicknames if util.pollAllPosts(self): util.checkNewNicks(self) #generate a new public/private key pair self.whisperAlicePubKey = util.genPubKey(self) if self.whisperAlicePubKey is False: self.writeConsole('Unable to post your Public Key') self.togglePoll(True) return
def commandBalance(self, command): """ display the balance of the currently logged in agent """ if not util.checkLogin(self): return util.getBalance(self) self.writeConsole('Balance is ' + str(self.agentBalance) + ' ' + str(self.unit)) return
def commandLogin(self, command): """ Login as an existing agent can login using nick, address or seed. display the nickname (if present), address and balance check profiles and update or insert """ if len(command) < 2: self.writeConsole('You need to supply some detail for the agent you want to login as.\nCould be the agents nickname, address or seed') return seed = util.getSeedFromNick(command[1]) if seed is False: self.agentSeed = command[1] else: self.agentSeed = seed util.getAgent(self) util.getAddress(self) util.getBalance(self) self.agentNick = util.getNick(self, self.agentAddress) conn = db.open() c = conn.cursor() c.execute('select id from profiles where seed=?;', (str(self.agentSeed),)) id = c.fetchone() if id is None: c.execute('insert into profiles (nick, seed) values (?,?);', (str(self.agentNick), str(self.agentSeed))) else: c.execute('update profiles set nick=? where seed=?;', (str(self.agentNick), str(self.agentSeed))) db.close(conn) self.writeConsole((('Logged in as ' + str(self.agentNick)) if len(self.agentNick) > 0 else ( 'Logged in')) + '.\nAddress is ' + str(self.agentAddress) + '\nBalance is ' + str(self.agentBalance) + ' ' + str( self.unit)) #check for new nicknames if util.pollAllPosts(self): util.checkNewNicks(self) #check for new posts from follows commandFeed(self, command) #generate a new public/private key pair self.whisperAlicePubKey = util.genPubKey(self) if self.whisperAlicePubKey is False: self.writeConsole('Unable to post your Public Key') self.togglePoll(True) return