Skip to content
This repository has been archived by the owner on Nov 15, 2021. It is now read-only.

Commit

Permalink
Revert "Dependency update: prompt-toolkit"
Browse files Browse the repository at this point in the history
  • Loading branch information
localhuman committed Jun 27, 2018
1 parent 606b8fe commit 984c977
Show file tree
Hide file tree
Showing 2 changed files with 43 additions and 47 deletions.
88 changes: 42 additions & 46 deletions neo/bin/prompt.py
Expand Up @@ -10,11 +10,12 @@
import sys
from time import sleep
from logzero import logger
from prompt_toolkit.completion import WordCompleter
from prompt_toolkit import prompt
from prompt_toolkit.contrib.completers import WordCompleter
from prompt_toolkit.history import FileHistory
from prompt_toolkit.shortcuts import print_formatted_text, PromptSession
from prompt_toolkit.formatted_text import FormattedText
from prompt_toolkit.styles import Style
from prompt_toolkit.shortcuts import print_tokens
from prompt_toolkit.styles import style_from_dict
from prompt_toolkit.token import Token
from twisted.internet import reactor, task

from neo import __version__
Expand Down Expand Up @@ -161,24 +162,20 @@ def __init__(self, history_filename=None):
self.start_height = Blockchain.Default().Height
self.start_dt = datetime.datetime.utcnow()

self.token_style = Style.from_dict({
"command": preferences.token_style['Command'],
"neo": preferences.token_style['Neo'],
"default": preferences.token_style['Default'],
"number": preferences.token_style['Number'],
self.token_style = style_from_dict({
Token.Command: preferences.token_style['Command'],
Token.Neo: preferences.token_style['Neo'],
Token.Default: preferences.token_style['Default'],
Token.Number: preferences.token_style['Number'],
})

def get_bottom_toolbar(self, cli=None):
out = []
try:
# Note: not sure if prompt-toolkit still supports foreground colors, couldn't get it to work
# out = [("class:command", '[%s] Progress: ' % settings.net_name),
# ("class:number", str(Blockchain.Default().Height + 1)),
# ("class:neo", '/'),
# ("class:number", str(Blockchain.Default().HeaderHeight + 1))]
return "[%s] Progress: %s/%s" % (settings.net_name,
str(Blockchain.Default().Height + 1),
str(Blockchain.Default().HeaderHeight + 1))
out = [(Token.Command, '[%s] Progress: ' % settings.net_name),
(Token.Number, str(Blockchain.Default().Height + 1)),
(Token.Neo, '/'),
(Token.Number, str(Blockchain.Default().HeaderHeight + 1))]
except Exception as e:
pass

Expand Down Expand Up @@ -220,8 +217,8 @@ def quit(self):
def help(self):
tokens = []
for c in self.commands:
tokens.append(("class:command", "%s\n" % c))
print_formatted_text(FormattedText(tokens), style=self.token_style)
tokens.append((Token.Command, "%s\n" % c))
print_tokens(tokens, self.token_style)

def do_open(self, arguments):
if self.Wallet:
Expand Down Expand Up @@ -608,15 +605,15 @@ def show_state(self):
out += "Time elapsed %s mins\n" % mins
out += "Blocks per min %s \n" % bpm
out += "TPS: %s \n" % tps
tokens = [("class:number", out)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, out)]
print_tokens(tokens, self.token_style)

def show_nodes(self):
if len(NodeLeader.Instance().Peers) > 0:
out = "Total Connected: %s\n" % len(NodeLeader.Instance().Peers)
for peer in NodeLeader.Instance().Peers:
out += "Peer %s - IO: %s\n" % (peer.Name(), peer.IOStats())
print_formatted_text(FormattedText([("class:number", out)]), self.token_style)
print_tokens([(Token.Number, out)], self.token_style)
else:
print("Not connected yet\n")

Expand All @@ -629,8 +626,8 @@ def show_block(self, args):
if block is not None:

bjson = json.dumps(block.ToJson(), indent=4)
tokens = [("class:number", bjson)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, bjson)]
print_tokens(tokens, self.token_style)
print('\n')
if txarg and 'tx' in txarg:

Expand Down Expand Up @@ -663,8 +660,8 @@ def show_tx(self, args):
jsn['height'] = height
jsn['unspents'] = [uns.ToJson(tx.outputs.index(uns)) for uns in
Blockchain.Default().GetAllUnspent(txid)]
tokens = [("class:command", json.dumps(jsn, indent=4))]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Command, json.dumps(jsn, indent=4))]
print_tokens(tokens, self.token_style)
print('\n')
except Exception as e:
print("Could not find transaction from args: %s (%s)" % (e, args))
Expand All @@ -679,8 +676,8 @@ def show_account_state(self, args):

if account is not None:
bjson = json.dumps(account.ToJson(), indent=4)
tokens = [("class:number", bjson)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, bjson)]
print_tokens(tokens, self.token_style)
print('\n')
else:
print("Account %s not found" % item)
Expand All @@ -698,8 +695,8 @@ def show_asset_state(self, args):
print("Found %s results for %s" % (len(results), query))
for asset in results:
bjson = json.dumps(asset.ToJson(), indent=4)
tokens = [("class:number", bjson)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, bjson)]
print_tokens(tokens, self.token_style)
print('\n')

return
Expand All @@ -708,8 +705,8 @@ def show_asset_state(self, args):

if asset is not None:
bjson = json.dumps(asset.ToJson(), indent=4)
tokens = [("class:number", bjson)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, bjson)]
print_tokens(tokens, self.token_style)
print('\n')
else:
print("Asset %s not found" % item)
Expand All @@ -732,8 +729,8 @@ def show_contract_state(self, args):
print("Found %s results for %s" % (len(contracts), query))
for contract in contracts:
bjson = json.dumps(contract.ToJson(), indent=4)
tokens = [("class:number", bjson)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, bjson)]
print_tokens(tokens, self.token_style)
print('\n')
else:
print("Please specify a search query")
Expand All @@ -744,8 +741,8 @@ def show_contract_state(self, args):
contract.DetermineIsNEP5()
jsn = contract.ToJson()
bjson = json.dumps(jsn, indent=4)
tokens = [("class:number", bjson)]
print_formatted_text(FormattedText(tokens), self.token_style)
tokens = [(Token.Number, bjson)]
print_tokens(tokens, self.token_style)
print('\n')
else:
print("Please specify a contract")
Expand Down Expand Up @@ -834,7 +831,7 @@ def show_mem(self):
totalmb = total / (1024 * 1024)
out = "Total: %s MB\n" % totalmb
out += "Total buffers: %s\n" % StreamManager.TotalBuffers()
print_formatted_text(FormattedText([("class:number", out)]), self.token_style)
print_tokens([(Token.Number, out)], self.token_style)

def handle_debug_storage(self, args):
what = get_arg(args)
Expand Down Expand Up @@ -916,23 +913,22 @@ def run(self):

# Blockchain.Default().PersistBlocks()

tokens = [("class:neo", 'NEO'), ("class:default", ' cli. Type '),
("class:command", '\'help\' '), ("class:default", 'to get started')]
tokens = [(Token.Neo, 'NEO'), (Token.Default, ' cli. Type '),
(Token.Command, '\'help\' '), (Token.Default, 'to get started')]

print_formatted_text(FormattedText(tokens), style=self.token_style)
print_tokens(tokens, self.token_style)
print('\n')

session = PromptSession("neo> ",
while self.go_on:

try:
result = prompt("neo> ",
completer=self.get_completer(),
history=self.history,
bottom_toolbar=self.get_bottom_toolbar,
get_bottom_toolbar_tokens=self.get_bottom_toolbar,
style=self.token_style,
refresh_interval=3
)
while self.go_on:

try:
result = session.prompt()
except EOFError:
# Control-D pressed: quit
return self.quit()
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Expand Up @@ -42,7 +42,7 @@ pbr==4.0.4
peewee==2.10.2
pluggy==0.6.0
plyvel==1.0.4
prompt-toolkit==2.0.3
prompt-toolkit==1.0.15
psutil==5.4.6
py==1.5.3
pycodestyle==2.4.0
Expand Down

0 comments on commit 984c977

Please sign in to comment.