예제 #1
0
 def list(self, obj: str):
     if obj == "wallets":
         wallets = list_wallets()
         if len(wallets) == 0:
             self.app.log(
                 'Wallet not available. Please configure your wallet (Enter "config wallet")'
             )
         else:
             self.app.log('\n'.join(wallets))
     elif obj == "exchanges":
         if len(EXCHANGES) == 0:
             self.app.log("No exchanges available")
         else:
             self.app.log('\n'.join(EXCHANGES))
     elif obj == "configs":
         self.app.log('\n'.join(load_required_configs().keys()))
     elif obj == "trades":
         lines = []
         if self.strategy is None:
             self.app.log("No strategy available, cannot show past trades.")
         else:
             if len(self.strategy.trades) > 0:
                 df = Trade.to_pandas(self.strategy.trades)
                 df_lines = str(df).split("\n")
                 lines.extend(["", "  Past trades:"] +
                              ["    " + line for line in df_lines])
             else:
                 lines.extend(["  No past trades."])
         self.app.log("\n".join(lines))
     else:
         self.help("list")
예제 #2
0
 def config(self, key: str = None):
     self.app.clear_input()
     if key is not None and key not in load_required_configs().keys():
         self.app.log("Invalid config variable %s" % (key, ))
         return
     if key is not None:
         keys = [key]
     else:
         keys = self._get_empty_configs()
     asyncio.ensure_future(self._config_loop(keys))
예제 #3
0
 def list(self, obj: str):
     if obj == "wallets":
         wallets = list_wallets()
         if len(wallets) == 0:
             self.app.log('Wallet not available. Please configure your wallet (Enter "config wallet")')
         else:
             self.app.log('\n'.join(wallets))
     elif obj == "exchanges":
         if len(EXCHANGES) == 0:
             self.app.log("No exchanges available")
         else:
             self.app.log('\n'.join(EXCHANGES))
     elif obj == "configs":
         self.app.log('\n'.join(load_required_configs().keys()))
     else:
         self.help("list")
예제 #4
0
 def _get_empty_configs() -> List[str]:
     config_map = load_required_configs()
     return [
         key for key, config in config_map.items() if config.value is None
     ]
예제 #5
0
 def _config_completer(self):
     return WordCompleter(load_required_configs(), ignore_case=True)