From f570ce99302033b6276e338ee5043449b118ba70 Mon Sep 17 00:00:00 2001 From: Thomas Saunders Date: Thu, 21 Jun 2018 12:14:08 -0500 Subject: [PATCH 1/7] =?UTF-8?q?Bump=20version:=200.7.2-dev=20=E2=86=92=200?= =?UTF-8?q?.7.2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/source/conf.py | 4 ++-- neo/__init__.py | 2 +- setup.cfg | 2 +- setup.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index ec9c8030c..86868f7fa 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -80,9 +80,9 @@ def __getattr__(cls, name): # built documents. # # The short X.Y version. -version = __version__ = '0.7.2-dev' +version = __version__ = '0.7.2' # The full version, including alpha/beta/rc tags. -release = __version__ = '0.7.2-dev' +release = __version__ = '0.7.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/neo/__init__.py b/neo/__init__.py index 43f9f3ea3..fb9b668fb 100644 --- a/neo/__init__.py +++ b/neo/__init__.py @@ -1 +1 @@ -__version__ = '0.7.2-dev' +__version__ = '0.7.2' diff --git a/setup.cfg b/setup.cfg index 486db55c4..473f9ca10 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.7.2-dev +current_version = 0.7.2 commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+))? diff --git a/setup.py b/setup.py index e23521554..be96c0dca 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ setup( name='neo-python', python_requires='>=3.6', - version='0.7.2-dev', + version='0.7.2', description="Python Node and SDK for the NEO blockchain", long_description=readme, author="Thomas Saunders", From 2b46eb4ace90c42c2d7f2d8aab2e558b9755f99a Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Mon, 25 Jun 2018 13:33:19 +0200 Subject: [PATCH 2/7] Updated the requirements --- requirements.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/requirements.txt b/requirements.txt index 135865db7..2d7f64564 100644 --- a/requirements.txt +++ b/requirements.txt @@ -37,31 +37,31 @@ mpmath==1.0.0 neo-boa==0.4.7 neo-python-rpc==0.2.1 neocore==0.4.9 +numpy==1.14.5 +pbr==4.0.4 peewee==2.10.2 -numpy==1.14.3 -pbr==4.0.3 pluggy==0.6.0 plyvel==1.0.4 prompt-toolkit==1.0.15 -psutil==5.4.5 +psutil==5.4.6 py==1.5.3 pycodestyle==2.4.0 pycparser==2.18 pycrypto==2.6.1 -pycryptodome==3.6.1 +pycryptodome==3.6.3 Pygments==2.2.0 pymitter==0.2.3 Pympler==0.5 pyparsing==2.2.0 python-dateutil==2.7.3 pytz==2018.4 -requests==2.18.4 +requests==2.19.1 scrypt==0.8.6 six==1.11.0 tqdm==4.23.4 Twisted==18.4.0 typing==3.6.4 -urllib3==1.22 +urllib3==1.23 virtualenv==16.0.0 wcwidth==0.1.7 Werkzeug==0.14.1 From 2bde64e5679a6575f49b52730532ddfc769488fd Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Mon, 25 Jun 2018 13:39:08 +0200 Subject: [PATCH 3/7] =?UTF-8?q?Bump=20version:=200.7.2=20=E2=86=92=200.7.3?= =?UTF-8?q?-dev?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/source/conf.py | 4 ++-- neo/__init__.py | 2 +- setup.cfg | 2 +- setup.py | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index 86868f7fa..f5ea4d4da 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -80,9 +80,9 @@ def __getattr__(cls, name): # built documents. # # The short X.Y version. -version = __version__ = '0.7.2' +version = __version__ = '0.7.3-dev' # The full version, including alpha/beta/rc tags. -release = __version__ = '0.7.2' +release = __version__ = '0.7.3-dev' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/neo/__init__.py b/neo/__init__.py index fb9b668fb..0818dbaea 100644 --- a/neo/__init__.py +++ b/neo/__init__.py @@ -1 +1 @@ -__version__ = '0.7.2' +__version__ = '0.7.3-dev' diff --git a/setup.cfg b/setup.cfg index 473f9ca10..7641a66e0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 0.7.2 +current_version = 0.7.3-dev commit = True tag = True parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+))? diff --git a/setup.py b/setup.py index be96c0dca..6f992287c 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,7 @@ setup( name='neo-python', python_requires='>=3.6', - version='0.7.2', + version='0.7.3-dev', description="Python Node and SDK for the NEO blockchain", long_description=readme, author="Thomas Saunders", From 7e034fd2e1f6168421b72235d59c39b1efe9d07e Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Mon, 25 Jun 2018 13:39:24 +0200 Subject: [PATCH 4/7] CHANGELOG --- CHANGELOG.rst | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index a07ff06ec..1d0038e94 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -3,7 +3,12 @@ Changelog All notable changes to this project are documented in this file. -[0.7.2] in progress +[0.7.3-dev] in progress +----------------------- +- Updated the requirements + + +[0.7.2] 2018-06-21 ------------------- - When using a custom datadir (with ``--datadir``), ``np-prompt`` will store log and history files there instead of the default directory. Note: if you use a custom datadir that does not yet exist, ``np-prompt`` starts without @@ -21,6 +26,7 @@ All notable changes to this project are documented in this file. - Update ``neo-boa`` version to v0.4.7 for new Enumerator/Iterator interop methods and additional python opcode support. - Fixed REST API ``/status`` ``current_height`` off-by-one `#475 `_ + [0.7.1] 2018-06-02 ------------------ - update FunctionCode Return type parsing From 4a619fae28bbe42d485251ea832fd5bc03a21403 Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Mon, 25 Jun 2018 14:35:37 +0200 Subject: [PATCH 5/7] req update neocore v0.4.10 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2d7f64564..cb1b62082 100644 --- a/requirements.txt +++ b/requirements.txt @@ -36,7 +36,7 @@ mock==2.0.0 mpmath==1.0.0 neo-boa==0.4.7 neo-python-rpc==0.2.1 -neocore==0.4.9 +neocore==0.4.10 numpy==1.14.5 pbr==4.0.4 peewee==2.10.2 From e6feddcb3b1b1907c9522493073b903a613cb3de Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Mon, 25 Jun 2018 15:36:29 +0200 Subject: [PATCH 6/7] start prompt-toolkit update --- neo/bin/prompt.py | 89 +++++++++++++++++++++++++---------------------- requirements.txt | 2 +- 2 files changed, 48 insertions(+), 43 deletions(-) diff --git a/neo/bin/prompt.py b/neo/bin/prompt.py index 7ca8aa6c0..8d9edfc63 100755 --- a/neo/bin/prompt.py +++ b/neo/bin/prompt.py @@ -10,12 +10,11 @@ import sys from time import sleep from logzero import logger -from prompt_toolkit import prompt -from prompt_toolkit.contrib.completers import WordCompleter +from prompt_toolkit.completion import WordCompleter from prompt_toolkit.history import FileHistory -from prompt_toolkit.shortcuts import print_tokens -from prompt_toolkit.styles import style_from_dict -from prompt_toolkit.token import Token +from prompt_toolkit.shortcuts import print_formatted_text, PromptSession +from prompt_toolkit.formatted_text import FormattedText +from prompt_toolkit.styles import Style from twisted.internet import reactor, task from neo import __version__ @@ -162,20 +161,25 @@ def __init__(self, history_filename=None): self.start_height = Blockchain.Default().Height self.start_dt = datetime.datetime.utcnow() - 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'], + 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'], }) def get_bottom_toolbar(self, cli=None): out = [] try: - out = [(Token.Command, '[%s] Progress: ' % settings.net_name), - (Token.Number, str(Blockchain.Default().Height + 1)), - (Token.Neo, '/'), - (Token.Number, str(Blockchain.Default().HeaderHeight + 1))] + # 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))] + out = [("", '[%s] Progress: ' % settings.net_name), + ("", str(Blockchain.Default().Height + 1)), + ("", '/'), + ("", str(Blockchain.Default().HeaderHeight + 1))] except Exception as e: pass @@ -217,8 +221,8 @@ def quit(self): def help(self): tokens = [] for c in self.commands: - tokens.append((Token.Command, "%s\n" % c)) - print_tokens(tokens, self.token_style) + tokens.append(("class:command", "%s\n" % c)) + print_formatted_text(FormattedText(tokens), style=self.token_style) def do_open(self, arguments): if self.Wallet: @@ -605,15 +609,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 = [(Token.Number, out)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", out)] + print_formatted_text(FormattedText(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_tokens([(Token.Number, out)], self.token_style) + print_formatted_text(FormattedText([("class:number", out)]), self.token_style) else: print("Not connected yet\n") @@ -626,8 +630,8 @@ def show_block(self, args): if block is not None: bjson = json.dumps(block.ToJson(), indent=4) - tokens = [(Token.Number, bjson)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') if txarg and 'tx' in txarg: @@ -660,8 +664,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 = [(Token.Command, json.dumps(jsn, indent=4))] - print_tokens(tokens, self.token_style) + tokens = [("class:command", json.dumps(jsn, indent=4))] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') except Exception as e: print("Could not find transaction from args: %s (%s)" % (e, args)) @@ -676,8 +680,8 @@ def show_account_state(self, args): if account is not None: bjson = json.dumps(account.ToJson(), indent=4) - tokens = [(Token.Number, bjson)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') else: print("Account %s not found" % item) @@ -695,8 +699,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 = [(Token.Number, bjson)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') return @@ -705,8 +709,8 @@ def show_asset_state(self, args): if asset is not None: bjson = json.dumps(asset.ToJson(), indent=4) - tokens = [(Token.Number, bjson)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') else: print("Asset %s not found" % item) @@ -729,8 +733,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 = [(Token.Number, bjson)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') else: print("Please specify a search query") @@ -741,8 +745,8 @@ def show_contract_state(self, args): contract.DetermineIsNEP5() jsn = contract.ToJson() bjson = json.dumps(jsn, indent=4) - tokens = [(Token.Number, bjson)] - print_tokens(tokens, self.token_style) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), self.token_style) print('\n') else: print("Please specify a contract") @@ -831,7 +835,7 @@ def show_mem(self): totalmb = total / (1024 * 1024) out = "Total: %s MB\n" % totalmb out += "Total buffers: %s\n" % StreamManager.TotalBuffers() - print_tokens([(Token.Number, out)], self.token_style) + print_formatted_text(FormattedText([("class:number", out)]), self.token_style) def handle_debug_storage(self, args): what = get_arg(args) @@ -913,22 +917,23 @@ def run(self): # Blockchain.Default().PersistBlocks() - tokens = [(Token.Neo, 'NEO'), (Token.Default, ' cli. Type '), - (Token.Command, '\'help\' '), (Token.Default, 'to get started')] + tokens = [("class:neo", 'NEO'), ("class:default", ' cli. Type '), + ("class:command", '\'help\' '), ("class:default", 'to get started')] - print_tokens(tokens, self.token_style) + print_formatted_text(FormattedText(tokens), style=self.token_style) print('\n') - while self.go_on: - - try: - result = prompt("neo> ", + session = PromptSession("neo> ", completer=self.get_completer(), history=self.history, - get_bottom_toolbar_tokens=self.get_bottom_toolbar, + bottom_toolbar=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() diff --git a/requirements.txt b/requirements.txt index cb1b62082..bf83bcf4f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -42,7 +42,7 @@ pbr==4.0.4 peewee==2.10.2 pluggy==0.6.0 plyvel==1.0.4 -prompt-toolkit==1.0.15 +prompt-toolkit==2.0.3 psutil==5.4.6 py==1.5.3 pycodestyle==2.4.0 From f3458f04d6be3be51e812f0bb33b1b7090f794f9 Mon Sep 17 00:00:00 2001 From: Chris Hager Date: Tue, 26 Jun 2018 12:14:42 +0200 Subject: [PATCH 7/7] bottom toolbar simplification --- neo/bin/prompt.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/neo/bin/prompt.py b/neo/bin/prompt.py index 8d9edfc63..fd235bbaa 100755 --- a/neo/bin/prompt.py +++ b/neo/bin/prompt.py @@ -176,10 +176,9 @@ def get_bottom_toolbar(self, cli=None): # ("class:number", str(Blockchain.Default().Height + 1)), # ("class:neo", '/'), # ("class:number", str(Blockchain.Default().HeaderHeight + 1))] - out = [("", '[%s] Progress: ' % settings.net_name), - ("", str(Blockchain.Default().Height + 1)), - ("", '/'), - ("", str(Blockchain.Default().HeaderHeight + 1))] + return "[%s] Progress: %s/%s" % (settings.net_name, + str(Blockchain.Default().Height + 1), + str(Blockchain.Default().HeaderHeight + 1)) except Exception as e: pass