def call_news(self, other_args: List[str]): """Process news command""" if not self.ticker: print("Use 'load <ticker>' prior to this command!", "\n") return parser = argparse.ArgumentParser( add_help=False, prog="news", description=""" Prints latest news about company, including date, title and web link. [Source: News API] """, ) parser.add_argument( "-n", "--num", action="store", dest="n_num", type=check_positive, default=5, help="Number of latest news being printed.", ) try: ns_parser = parse_known_args_and_warn(parser, other_args) if not ns_parser: return newsapi_view.news( term=self.ticker, num=ns_parser.n_num, ) except Exception as e: print(e, "\n")
def call_news(self, other_args: List[str]): """Process news command""" if not self.ticker: print("Use 'load <ticker>' prior to this command!", "\n") return parser = argparse.ArgumentParser( add_help=False, prog="news", description=""" Prints latest news about company, including date, title and web link. [Source: News API] """, ) parser.add_argument( "-n", "--num", action="store", dest="n_num", type=check_positive, default=5, help="Number of latest news being printed.", ) parser.add_argument( "-d", "--date", action="store", dest="n_start_date", type=valid_date, default=datetime.now() - timedelta(days=7), help="The starting date (format YYYY-MM-DD) to search articles from", ) parser.add_argument( "-o", "--oldest", action="store_false", dest="n_oldest", default=True, help="Show oldest articles first", ) parser.add_argument( "-s", "--sources", default=[], nargs="+", help="Show news only from the sources specified (e.g bbc yahoo.com)", ) ns_parser = parse_known_args_and_warn(parser, other_args) if ns_parser: sources = ns_parser.sources for idx, source in enumerate(sources): if source.find(".") == -1: sources[idx] += ".com" d_stock = yf.Ticker(self.ticker).info newsapi_view.news( term=d_stock["shortName"].replace(" ", "+") if "shortName" in d_stock else self.ticker, num=ns_parser.n_num, s_from=ns_parser.n_start_date.strftime("%Y-%m-%d"), show_newest=ns_parser.n_oldest, sources=",".join(sources), )