mirror of
https://github.com/OpenBB-finance/OpenBB.git
synced 2026-10-27 12:40:35 +00:00
133 lines
5.2 KiB
Python
133 lines
5.2 KiB
Python
import config_terminal as cfg
|
|
import argparse
|
|
from sentiment import reddit_api
|
|
from sentiment import stocktwits_api
|
|
from sentiment import twitter_api
|
|
from sentiment import google_api
|
|
|
|
|
|
# -----------------------------------------------------------------------------------------------------------------------
|
|
def print_sentiment():
|
|
""" Print help """
|
|
|
|
print("\nSentiment:")
|
|
print(" help show this sentiment menu again")
|
|
print(" q quit this menu, and shows back to main menu")
|
|
print(" quit quit to abandon program")
|
|
print("")
|
|
print("Reddit:")
|
|
print(" wsb show what WSB gang is up to in subreddit wallstreetbets")
|
|
print(" watchlist show other users watchlist")
|
|
print(" popular show popular tickers")
|
|
print(" spac_c show other users spacs announcements from subreddit SPACs community")
|
|
print(" spac show other users spacs announcements from other subs")
|
|
print("")
|
|
print("Stocktwits:")
|
|
print(" bullbear estimate quick sentiment from last 30 messages on board")
|
|
print(" messages output up to the 30 last messages on the board")
|
|
print(" trending trending stocks")
|
|
print(" stalker stalk stocktwits user's last messages")
|
|
print("")
|
|
print("Twitter:")
|
|
print(" infer infer about stock's sentiment from latest tweets")
|
|
print(" sentiment in-depth sentiment prediction from tweets over time")
|
|
print("")
|
|
print("Google:")
|
|
print(" mentions interest over time based on stock's mentions")
|
|
print(" regions regions that show highest interest in stock")
|
|
print(" queries top related queries with this stock")
|
|
print(" rise top rising related queries with stock")
|
|
print("")
|
|
|
|
return
|
|
|
|
|
|
# ---------------------------------------------------- MENU ----------------------------------------------------
|
|
def sen_menu(s_ticker, s_start):
|
|
|
|
# Add list of arguments that the discovery parser accepts
|
|
sen_parser = argparse.ArgumentParser(prog='sen', add_help=False)
|
|
sen_parser.add_argument('cmd', choices=['help', 'q', 'quit',
|
|
'watchlist', 'spac', 'spac_c', 'wsb', 'popular',
|
|
'bullbear', 'messages', 'trending', 'stalker',
|
|
'infer', 'sentiment', 'mentions', 'regions',
|
|
'queries', 'rise'])
|
|
|
|
print_sentiment()
|
|
|
|
# Loop forever and ever
|
|
while True:
|
|
# Get input command from user
|
|
as_input = input('> ')
|
|
|
|
# Parse sentiment command of the list of possible commands
|
|
try:
|
|
(ns_known_args, l_args) = sen_parser.parse_known_args(as_input.split())
|
|
|
|
except SystemExit:
|
|
print("The command selected doesn't exist\n")
|
|
continue
|
|
|
|
if ns_known_args.cmd == 'help':
|
|
print_sentiment()
|
|
|
|
elif ns_known_args.cmd == 'q':
|
|
# Just leave the DISC menu
|
|
return False
|
|
|
|
elif ns_known_args.cmd == 'quit':
|
|
# Abandon the program
|
|
return True
|
|
|
|
# ---------------------------------------------------- REDDIT ---------------------------------------------------
|
|
elif ns_known_args.cmd == 'watchlist':
|
|
reddit_api.watchlist(l_args)
|
|
|
|
elif ns_known_args.cmd == 'spac':
|
|
reddit_api.spac(l_args)
|
|
|
|
elif ns_known_args.cmd == 'spac_c':
|
|
reddit_api.spac_community(l_args)
|
|
|
|
elif ns_known_args.cmd == 'wsb':
|
|
reddit_api.wsb_community(l_args)
|
|
|
|
elif ns_known_args.cmd == 'popular':
|
|
reddit_api.popular_tickers(l_args)
|
|
|
|
# ---------------------------------------------------- STOCKTWITS ---------------------------------------------------
|
|
elif ns_known_args.cmd == 'bullbear':
|
|
stocktwits_api.bullbear(l_args, s_ticker)
|
|
|
|
elif ns_known_args.cmd == 'messages':
|
|
stocktwits_api.messages(l_args, s_ticker)
|
|
|
|
elif ns_known_args.cmd == 'trending':
|
|
stocktwits_api.trending(l_args)
|
|
|
|
elif ns_known_args.cmd == 'stalker':
|
|
stocktwits_api.stalker(l_args)
|
|
|
|
# ----------------------------------------------------- TWITTER ---------------------------------------------------
|
|
elif ns_known_args.cmd == 'infer':
|
|
twitter_api.inference(l_args, s_ticker)
|
|
|
|
elif ns_known_args.cmd == 'sentiment':
|
|
twitter_api.sentiment(l_args, s_ticker)
|
|
|
|
# ----------------------------------------------------- GOOGLE ---------------------------------------------------
|
|
elif ns_known_args.cmd == 'mentions':
|
|
google_api.mentions(l_args, s_ticker, s_start)
|
|
|
|
elif ns_known_args.cmd == 'regions':
|
|
google_api.regions(l_args, s_ticker)
|
|
|
|
elif ns_known_args.cmd == 'queries':
|
|
google_api.queries(l_args, s_ticker)
|
|
|
|
elif ns_known_args.cmd == 'rise':
|
|
google_api.rise(l_args, s_ticker)
|
|
|
|
# ------------------------------------------------------------------------------------------------------------
|
|
else:
|
|
print("Command not recognized!") |