Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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