From 4947aee36d2fe015eea9c51cb7967225842e3cdc Mon Sep 17 00:00:00 2001 From: joelva Date: Tue, 19 Jun 2018 13:20:58 +0300 Subject: [PATCH 1/3] Fix duplicate private key error and wallet locked error --- dexbot/controllers/main_controller.py | 5 ++--- dexbot/views/worker_item.py | 5 +++-- dexbot/worker.py | 3 +-- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/dexbot/controllers/main_controller.py b/dexbot/controllers/main_controller.py index 75d6d5534..9cf7b2b85 100644 --- a/dexbot/controllers/main_controller.py +++ b/dexbot/controllers/main_controller.py @@ -59,14 +59,13 @@ def remove_worker(self, worker_name): else: # Worker not running config = self.config.get_worker_config(worker_name) - WorkerInfrastructure.remove_offline_worker(config, worker_name) + WorkerInfrastructure.remove_offline_worker(config, worker_name, self.bitshares_instance) else: # Worker manager not running config = self.config.get_worker_config(worker_name) - WorkerInfrastructure.remove_offline_worker(config, worker_name) + WorkerInfrastructure.remove_offline_worker(config, worker_name, self.bitshares_instance) @staticmethod def create_worker(worker_name): # Deletes old worker's data WorkerInfrastructure.remove_offline_worker_data(worker_name) - diff --git a/dexbot/views/worker_item.py b/dexbot/views/worker_item.py index d412b02a9..73d5afe92 100644 --- a/dexbot/views/worker_item.py +++ b/dexbot/views/worker_item.py @@ -3,11 +3,9 @@ from .ui.worker_item_widget_ui import Ui_widget from .confirmation import ConfirmationDialog from .edit_worker import EditWorkerView -from .errors import gui_error from dexbot.storage import db_worker from dexbot.controllers.worker_controller import WorkerController from dexbot.views.errors import gui_error -from dexbot.resources import icons_rc from PyQt5 import QtCore, QtWidgets @@ -141,7 +139,10 @@ def remove_widget_dialog(self): self.remove_widget() def remove_widget(self): + account = self.worker_config['workers'][self.worker_name]['account'] + self.main_ctrl.remove_worker(self.worker_name) + self.main_ctrl.bitshares_instance.wallet.removeAccount(account) self.view.remove_worker_widget(self.worker_name) self.main_ctrl.config.remove_worker_config(self.worker_name) self.deleteLater() diff --git a/dexbot/worker.py b/dexbot/worker.py index 7ca44a01a..15f2d011c 100644 --- a/dexbot/worker.py +++ b/dexbot/worker.py @@ -223,9 +223,8 @@ def remove_market(self, worker_name): self.markets.remove(market) @staticmethod - def remove_offline_worker(config, worker_name): + def remove_offline_worker(config, worker_name, bitshares_instance): # Initialize the base strategy to get control over the data - bitshares_instance = BitShares(config['node']) strategy = BaseStrategy(worker_name, config, bitshares_instance=bitshares_instance) strategy.purge() From 9a47386cb963fdce177c76aca6d4c0bbedfceb0e Mon Sep 17 00:00:00 2001 From: joelva Date: Wed, 20 Jun 2018 10:59:49 +0300 Subject: [PATCH 2/3] Fix CLI worker deletion --- dexbot/basestrategy.py | 2 +- dexbot/cli.py | 5 ++++- dexbot/cli_conf.py | 8 +++++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/dexbot/basestrategy.py b/dexbot/basestrategy.py index 465f1ccdf..0b1c6e039 100644 --- a/dexbot/basestrategy.py +++ b/dexbot/basestrategy.py @@ -496,8 +496,8 @@ def calculate_order_data(self, order, amount, price): def purge(self): """ Clear all the worker data from the database and cancel all orders """ - self.cancel_all() self.clear_orders() + self.cancel_all() self.clear() @staticmethod diff --git a/dexbot/cli.py b/dexbot/cli.py index 9c061c98f..5e49f90aa 100755 --- a/dexbot/cli.py +++ b/dexbot/cli.py @@ -108,6 +108,9 @@ def run(ctx): @main.command() @click.pass_context +@configfile +@chain +@unlock def configure(ctx): """ Interactively configure dexbot """ @@ -117,7 +120,7 @@ def configure(ctx): os.system('systemctl --user stop dexbot') config = Config(path=ctx.obj['configfile']) - configure_dexbot(config) + configure_dexbot(config, ctx) config.save_config() click.echo("New configuration saved") diff --git a/dexbot/cli_conf.py b/dexbot/cli_conf.py index 6215b8c91..cf91826d4 100644 --- a/dexbot/cli_conf.py +++ b/dexbot/cli_conf.py @@ -179,7 +179,7 @@ def configure_worker(d, worker): return worker -def configure_dexbot(config): +def configure_dexbot(config, ctx): d = get_whiptail() workers = config.get('workers', {}) if not workers: @@ -190,21 +190,23 @@ def configure_dexbot(config): break setup_systemd(d, config) else: + bitshares_instance = ctx.bitshares action = d.menu("You have an existing configuration.\nSelect an action:", [('NEW', 'Create a new worker'), ('DEL', 'Delete a worker'), ('EDIT', 'Edit a worker'), ('CONF', 'Redo general config')]) + if action == 'EDIT': worker_name = d.menu("Select worker to edit", [(i, i) for i in workers]) config['workers'][worker_name] = configure_worker(d, config['workers'][worker_name]) - bitshares_instance = BitShares(config['node']) + strategy = BaseStrategy(worker_name, bitshares_instance=bitshares_instance) strategy.purge() elif action == 'DEL': worker_name = d.menu("Select worker to delete", [(i, i) for i in workers]) del config['workers'][worker_name] - bitshares_instance = BitShares(config['node']) + strategy = BaseStrategy(worker_name, bitshares_instance=bitshares_instance) strategy.purge() elif action == 'NEW': From d7a2fe21983fa7d487c605ef16d9d531cae98369 Mon Sep 17 00:00:00 2001 From: Mika Koivistoinen Date: Thu, 21 Jun 2018 10:14:57 +0300 Subject: [PATCH 3/3] Change dexbot version number to 0.4.8 --- dexbot/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dexbot/__init__.py b/dexbot/__init__.py index 5b90af327..67c103453 100644 --- a/dexbot/__init__.py +++ b/dexbot/__init__.py @@ -1,4 +1,4 @@ APP_NAME = 'dexbot' -VERSION = '0.4.6' +VERSION = '0.4.8' AUTHOR = 'Codaone Oy' __version__ = VERSION