def recommended_non_linear_math(NAVSTACK, STATE): try: feed_items, STATE = arxiv_api.get_feed(topic='nlin', STATE=STATE) print('-' * 80) print('generating recommendations. standby...') feed_items, STATE = main_ml.predict(feed_items, STATE=STATE) except: navigable_menus.error( 'request timed out or prediction algorithms have failed. standby...' ) articles = navigable_menus.make_articles(feed_items, sys.modules[__name__]) articles = navigable_menus.paginate(articles, page_length=10, menu_options=[ ('main_menu', 'back'), ('main_menu', 'back_to_main'), ('CONTROL', 'previous_page'), ('CONTROL', 'next_page') ]) action, STATE = navigable_menus.create( articles, header='main >> arxiv >> recommended >> non-linear math', STATE=STATE) return action, NAVSTACK, STATE
def search(NAVSTACK, STATE): instructions = """ ti:title au:author abs:abstract co:comment jr:journal ref cat:subj-cat rn:report number BLANK INPUT TO GO BACK') Eg: au:julius caesar AND (ti:black holes OR ti:something else) AND, OR, ANDNOT operaters are case sensitive """ navigable_menus.make_header('main >> search') print(instructions) search_results, STATE = arxiv_api.search(STATE) if search_results == []: navigable_menus.error('no results found or query empty') return ('main_menu', 'back'), NAVSTACK, STATE ar = articles.make(search_results, sys.modules[__name__]) ar = articles.paginate( ar, page_length=10, menu_options=[ ('main_menu', 'back'), ('main_menu', 'back_to_main'), ('CONTROL', 'previous_page'), ('CONTROL', 'next_page') ] ) action, STATE = navigable_menus.create( ar, header='main >> search', STATE=STATE ) return action, NAVSTACK, STATE
def download(NAVSTACK, STATE): #downloads article in STATE.current_article if STATE.current_article != []: try: STATE.current_article.download() except: navigable_menus.error('request timed out. standby...') action, NAVSTACK, STATE = back(NAVSTACK, STATE) else: navigable_menus.error('not an article. standby...') action, NAVSTACK, STATE = do_nothing(NAVSTACK, STATE) STATE.current_article = [] return action, NAVSTACK, STATE
def new_cs(NAVSTACK, STATE): try: feed_items, STATE = arxiv_api.get_feed(topic='cs', STATE=STATE) except: navigable_menus.error('request timed out. standby...') return ('main_menu', 'do_nothing'), NAVSTACK, STATE articles = navigable_menus.make_articles(feed_items, sys.modules[__name__]) articles = navigable_menus.paginate(articles, page_length=10, menu_options=[ ('main_menu', 'back'), ('main_menu', 'back_to_main'), ('CONTROL', 'previous_page'), ('CONTROL', 'next_page') ]) action, STATE = navigable_menus.create( articles, header='main >> arxiv >> new articles >> cs', STATE=STATE) return action, NAVSTACK, STATE
def search(NAVSTACK, STATE): navigable_menus.make_header('main >> search') search_results, STATE = arxiv_api.search(STATE) if search_results == []: navigable_menus.error('no results found or query empty') return ('main_menu', 'back'), NAVSTACK, STATE articles = navigable_menus.make_articles(search_results, sys.modules[__name__]) articles = navigable_menus.paginate(articles, page_length=10, menu_options=[ ('main_menu', 'back'), ('main_menu', 'back_to_main'), ('CONTROL', 'previous_page'), ('CONTROL', 'next_page') ]) action, STATE = navigable_menus.create(articles, header='main >> search', STATE=STATE) return action, NAVSTACK, STATE