def test_get_pages_for_function(): """ Test discerner.analyze.get_pages with a function """ args = Namespace(pages=get_financial_pages) pages = get_pages(args) eq_(pages, get_financial_pages())
def test_get_pages_for_list(): """ Test discerner.analyze.get_pages with a list """ args = Namespace(pages=["MSFT:Microsoft", "AAPL:Apple_Inc"]) pages = get_pages(args) expected = {"MSFT": "Microsoft", "AAPL": "Apple_Inc"} for symbol in pages: eq_(expected[symbol], pages[symbol])
def analyze_pages(func, args): """ Base function for analyzing wiki pages """ cruncher.load_r_funcs() pages = cruncher.get_pages(args) mapping = { "RANDOM": lambda *args: (None, None), "RECENT": analyze_page_view_data, "HISTORICAL": analyze_page_view_data } for key, page in pages.iteritems(): logger.info("Analyzing for symbol: {}, page: {}".format(key, page)) outliers, quantile = mapping[args.data_type](args, key, page) func(args, key, outliers, quantile) perform_analysis(args) perform_final_action(args)