def call_holdings(self, other_args: List[str]): """Process holdings command""" parser = argparse.ArgumentParser( add_help=False, formatter_class=argparse.ArgumentDefaultsHelpFormatter, prog="holdings", description="Look at ETF company holdings", ) parser.add_argument( "-l", "--limit", type=int, dest="limit", help="Number of holdings to get", default=10, ) if other_args and "-" not in other_args[0][0]: other_args.insert(0, "-l") ns_parser = parse_known_args_and_warn( parser, other_args, export_allowed=EXPORT_ONLY_RAW_DATA_ALLOWED) if ns_parser: stockanalysis_view.view_holdings( symbol=self.etf_name, num_to_show=ns_parser.limit, export=ns_parser.export, )
def call_holdings(self, other_args: List[str]): """Process holdings command""" parser = argparse.ArgumentParser( add_help=False, formatter_class=argparse.ArgumentDefaultsHelpFormatter, prog="holdings", description="Look at ETF holdings", ) parser.add_argument( "-e", "--etf", type=str, dest="name", help="ETF to get holdings for", required="-h" not in other_args, ) parser.add_argument( "-l", "--limit", type=int, dest="limit", help="Number of holdings to get", default=20, ) parser.add_argument( "--export", choices=["csv", "json", "xlsx"], default="", dest="export", help="Export dataframe data to csv,json,xlsx file", ) try: if other_args: if "-" not in other_args[0]: other_args.insert(0, "-e") ns_parser = parse_known_args_and_warn(parser, other_args) if not ns_parser: return stockanalysis_view.view_holdings( symbol=ns_parser.name, num_to_show=ns_parser.limit, export=ns_parser.export, ) except Exception as e: print(e, "\n")
def test_view_holdings(symbol, mocker): mocker.patch.object(target=helper_funcs.gtff, attribute="USE_TABULATE_DF", new=False) stockanalysis_view.view_holdings(symbol, num_to_show=5, export="")