def language_page_at_index(language, index, testmode=None): if testmode is not None: lists = get_test_lists(language) if testmode == 'all': all_list = [] for l in lists.values(): all_list.extend(l) page = all_list[index] else: page = lists[testmode][index] else: page = (Page .select() .where(Page.language == language) .group_by(Page.link) .order_by(Page.link) .limit(1) .offset(index) .first()) return page
def main(): browser = webdriver.Firefox() # Get list of validation pages pages = get_test_lists("jquery")["validation"][:NUM_PAGES] # For each page, save a screenshot for i, p in enumerate(pages): print "Visiting page:", p.link, "...", browser.get(build_local_url(p)) screenshot_path = os.path.join(SCREENS_DIR, "page" + str(i) + ".png") browser.save_screenshot(screenshot_path) print "saved screenshot." print "Cropping page...", img = Image.open(screenshot_path) cropped = img.crop((0, 0, img.width, int(img.width * 1.5))) cropped.save(screenshot_path) print "cropped." browser.close()
count = args.count try: check_server_running() except ServerNotRunningException as e: raise SystemExit(e.message) ''' Listen for updates to server log to save all detections. ''' pool = ThreadPoolExecutor(max_workers=1) future = pool.submit(save_detections, args.server_file, args.output_file) ''' Collect webpages for all micro-languages. ''' pages = [] for lang in MICROLANGUAGES: test_lists = get_test_lists(lang) pages.extend([(p, lang) for p in test_lists[args.testset]]) ''' Set up progress bar. ''' widgets = [ 'Progress: ', Percentage(), ' ', Bar(marker=RotatingMarker()), ' ', ETA(), ' Visited ', Counter(), ' sites.' ] num_pages = min(len(pages), count) if count is not None else len(pages) pbar = ProgressBar(widgets=widgets, maxval=num_pages) pbar.start() ''' Set up browser. ''' browser = webdriver.Firefox() load_link(browser, FIRST_LINK) # start by loading something inconsequential