From 8fba9bf19fa9d36f8a16951048d587cf9d201279 Mon Sep 17 00:00:00 2001 From: DidierRLopes Date: Mon, 8 Nov 2021 18:02:46 +0000 Subject: [PATCH] move NFT to inside crypto (#932) --- exports/cryptocurrency/nft/.gitkeep | 0 exports/stocks/options/.gitkeep | 0 .../cryptocurrency/crypto_controller.py | 72 ++++++++++++------- .../nft/nft_controller.py | 2 +- .../nft/nftcalendar_model.py | 0 .../nft/nftcalendar_view.py | 2 +- terminal.py | 18 +---- 7 files changed, 51 insertions(+), 43 deletions(-) create mode 100644 exports/cryptocurrency/nft/.gitkeep create mode 100644 exports/stocks/options/.gitkeep rename gamestonk_terminal/{ => cryptocurrency}/nft/nft_controller.py (99%) rename gamestonk_terminal/{ => cryptocurrency}/nft/nftcalendar_model.py (100%) rename gamestonk_terminal/{ => cryptocurrency}/nft/nftcalendar_view.py (97%) diff --git a/exports/cryptocurrency/nft/.gitkeep b/exports/cryptocurrency/nft/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/exports/stocks/options/.gitkeep b/exports/stocks/options/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/gamestonk_terminal/cryptocurrency/crypto_controller.py b/gamestonk_terminal/cryptocurrency/crypto_controller.py index a89d581d616..b181bc58559 100644 --- a/gamestonk_terminal/cryptocurrency/crypto_controller.py +++ b/gamestonk_terminal/cryptocurrency/crypto_controller.py @@ -14,27 +14,21 @@ from gamestonk_terminal.helper_funcs import ( parse_known_args_and_warn, check_positive, system_clear, + try_except, MENU_GO_BACK, MENU_QUIT, MENU_RESET, ) from gamestonk_terminal.menu import session -from gamestonk_terminal.cryptocurrency.technical_analysis import ta_controller -from gamestonk_terminal.cryptocurrency.overview import overview_controller -from gamestonk_terminal.cryptocurrency.defi import defi_controller + from gamestonk_terminal.cryptocurrency.due_diligence import ( - dd_controller, coinpaprika_view, binance_view, pycoingecko_view, -) -from gamestonk_terminal.cryptocurrency.discovery import ( - discovery_controller, -) -from gamestonk_terminal.cryptocurrency.due_diligence import ( finbrain_crypto_view, + binance_model, + coinbase_model, ) -from gamestonk_terminal.cryptocurrency.due_diligence.finbrain_crypto_view import COINS from gamestonk_terminal.cryptocurrency.cryptocurrency_helpers import ( load, @@ -42,11 +36,11 @@ from gamestonk_terminal.cryptocurrency.cryptocurrency_helpers import ( load_ta_data, plot_chart, ) -from gamestonk_terminal.cryptocurrency.due_diligence import binance_model -from gamestonk_terminal.cryptocurrency.due_diligence import coinbase_model -from gamestonk_terminal.cryptocurrency.onchain import onchain_controller + + import gamestonk_terminal.config_terminal as cfg -from gamestonk_terminal.helper_funcs import try_except + +# pylint: disable=import-outside-toplevel class CryptoController: @@ -66,7 +60,7 @@ class CryptoController: "find", ] - CHOICES_MENUS = ["ta", "dd", "ov", "disc", "onchain", "defi"] + CHOICES_MENUS = ["ta", "dd", "ov", "disc", "onchain", "defi", "nft"] SOURCES = { "bin": "Binance", @@ -122,12 +116,14 @@ What do you want to do? headlines crypto sentiment from 15+ major news headlines [Finbrain] > disc discover trending cryptocurrencies, e.g.: top gainers, losers, top sentiment -> ov overview of the cryptocurrencies, e.g.: market cap, DeFi, latest news, top exchanges, stables -> onchain information on different blockchains, e.g.: eth gas fees, active asset addresses, whale alerts -> defi decentralized finance information, e.g.: dpi, llama, tvl, lending, borrow, funding{dim} +> ov overview of the cryptocurrencies, e.g.: market cap, DeFi, latest news, top exchanges, stables{dim} > dd due-diligence for loaded coin, e.g.: coin information, social media, market stats > ta technical analysis for loaded coin, e.g.: ema, macd, rsi, adx, bbands, obv -{Style.RESET_ALL if not self.current_coin else ""}""" +{Style.RESET_ALL if not self.current_coin else ""} +> onchain information on different blockchains, e.g.: eth gas fees, active asset addresses, whale alerts +> defi decentralized finance information, e.g.: dpi, llama, tvl, lending, borrow, funding +> nft non-fungible tokens, e.g.: today drops +""" print(help_text) def switch(self, an_input: str): @@ -414,6 +410,8 @@ What do you want to do? def call_ta(self, other_args): """Process ta command""" + from gamestonk_terminal.cryptocurrency.technical_analysis import ta_controller + # TODO: Play with this to get correct usage if self.current_coin: parser = argparse.ArgumentParser( @@ -659,24 +657,31 @@ What do you want to do? def call_disc(self, _): """Process disc command""" - disc = discovery_controller.menu() - if disc is False: + from gamestonk_terminal.cryptocurrency.discovery import discovery_controller + + ret = discovery_controller.menu() + if ret is False: self.print_help() else: return True def call_ov(self, _): """Process ov command""" - ov = overview_controller.menu() - if ov is False: + from gamestonk_terminal.cryptocurrency.overview import overview_controller + + ret = overview_controller.menu() + if ret is False: self.print_help() else: return True def call_defi(self, _): """Process defi command""" - defi = defi_controller.menu() - if defi is False: + from gamestonk_terminal.cryptocurrency.defi import defi_controller + + ret = defi_controller.menu() + + if ret is False: self.print_help() else: return True @@ -698,7 +703,7 @@ What do you want to do? type=str, dest="coin", help="Symbol of coin to load data for, ~100 symbols are available", - choices=COINS, + choices=finbrain_crypto_view.COINS, ) parser.add_argument( @@ -722,6 +727,8 @@ What do you want to do? def call_dd(self, _): """Process dd command""" if self.current_coin: + from gamestonk_terminal.cryptocurrency.due_diligence import dd_controller + dd = dd_controller.menu(self.current_coin, self.source, self.symbol) if dd is False: self.print_help() @@ -734,6 +741,8 @@ What do you want to do? def call_onchain(self, _): """Process onchain command""" + from gamestonk_terminal.cryptocurrency.onchain import onchain_controller + ret = onchain_controller.menu() if ret is False: @@ -741,6 +750,17 @@ What do you want to do? else: return True + def call_nft(self, _): + """Process nft command""" + from gamestonk_terminal.cryptocurrency.nft import nft_controller + + ret = nft_controller.menu() + + if ret is False: + self.print_help() + else: + return True + @try_except def call_find(self, other_args): """Process find command""" diff --git a/gamestonk_terminal/nft/nft_controller.py b/gamestonk_terminal/cryptocurrency/nft/nft_controller.py similarity index 99% rename from gamestonk_terminal/nft/nft_controller.py rename to gamestonk_terminal/cryptocurrency/nft/nft_controller.py index 761a094433d..9a8e748bccc 100644 --- a/gamestonk_terminal/nft/nft_controller.py +++ b/gamestonk_terminal/cryptocurrency/nft/nft_controller.py @@ -16,7 +16,7 @@ from gamestonk_terminal.helper_funcs import ( parse_known_args_and_warn, ) -from gamestonk_terminal.nft import nftcalendar_view +from gamestonk_terminal.cryptocurrency.nft import nftcalendar_view class NFTController: diff --git a/gamestonk_terminal/nft/nftcalendar_model.py b/gamestonk_terminal/cryptocurrency/nft/nftcalendar_model.py similarity index 100% rename from gamestonk_terminal/nft/nftcalendar_model.py rename to gamestonk_terminal/cryptocurrency/nft/nftcalendar_model.py diff --git a/gamestonk_terminal/nft/nftcalendar_view.py b/gamestonk_terminal/cryptocurrency/nft/nftcalendar_view.py similarity index 97% rename from gamestonk_terminal/nft/nftcalendar_view.py rename to gamestonk_terminal/cryptocurrency/nft/nftcalendar_view.py index 02f63687267..0b5a3e77f01 100644 --- a/gamestonk_terminal/nft/nftcalendar_view.py +++ b/gamestonk_terminal/cryptocurrency/nft/nftcalendar_view.py @@ -3,7 +3,7 @@ __docformat__ = "numpy" import os from gamestonk_terminal.helper_funcs import export_data -from gamestonk_terminal.nft import nftcalendar_model +from gamestonk_terminal.cryptocurrency.nft import nftcalendar_model def display_nft_today_drops(num: int, export: str): diff --git a/terminal.py b/terminal.py index 6ae5d8574e5..6ee99acedaa 100644 --- a/terminal.py +++ b/terminal.py @@ -47,7 +47,7 @@ class TerminalController: "keys", ] - CHOICES_SHORTHAND_MENUS = ["s", "e", "c", "p", "f", "rp", "rs", "n"] + CHOICES_SHORTHAND_MENUS = ["s", "e", "c", "p", "f", "rp", "rs"] CHOICES_MENUS = [ "stocks", "economy", @@ -57,7 +57,6 @@ class TerminalController: "etf", "reports", "resources", - "nft", ] CHOICES += CHOICES_COMMANDS @@ -88,11 +87,10 @@ What do you want to do? about about us q(uit) to abandon the program ->> economy ->> etf >> stocks >> crypto ->> nft +>> etf +>> economy >> forex >> portfolio >> reports @@ -239,16 +237,6 @@ What do you want to do? """Process portfolio command""" return self.call_portfolio(_) - def call_nft(self, _): - """Process nft command""" - from gamestonk_terminal.nft import nft_controller - - return nft_controller.menu() - - def call_n(self, _): - """Process nft command""" - return self.call_nft(_) - def terminal(menu_prior_to_reset=""): """Terminal Menu"""