| Index: get_screenshots.py
|
| diff --git a/get_screenshots.py b/get_screenshots.py
|
| deleted file mode 100755
|
| index c4d445ce4ff61cbc62f5254d7452cc0163a6c42e..0000000000000000000000000000000000000000
|
| --- a/get_screenshots.py
|
| +++ /dev/null
|
| @@ -1,124 +0,0 @@
|
| -#!/usr/bin/env python
|
| -# Copyright 2014 The Chromium Authors. All rights reserved.
|
| -# Use of this source code is governed by a BSD-style license that can be
|
| -# found in the LICENSE file.
|
| -
|
| -import argparse
|
| -import json
|
| -import os
|
| -import shutil
|
| -import sys
|
| -import time
|
| -import urllib
|
| -
|
| -try:
|
| - from selenium import webdriver
|
| -except:
|
| - print 'ERROR:'
|
| - print 'Couldn\'t import webdriver. Please run `sudo ./install-build-deps.sh`.'
|
| - sys.exit(1)
|
| -
|
| -self_dir = os.path.abspath(os.path.dirname(__file__))
|
| -
|
| -def addBuildtoolsToPath():
|
| - envPath = os.environ['PATH']
|
| - if not 'buildtools' in envPath:
|
| - os.environ['PATH'] = '%s/buildtools:%s' % (self_dir, envPath)
|
| -
|
| -def getDistillerUrl(u):
|
| - params = { 'url': u}
|
| - return "chrome-distiller://blah/?" + urllib.urlencode(params)
|
| -
|
| -def newDriver():
|
| - chromeOptions = webdriver.ChromeOptions()
|
| - chromeOptions.add_argument('--enable-dom-distiller')
|
| - driver = webdriver.Chrome(chrome_options=chromeOptions)
|
| - driver.set_window_size(1600, 5000)
|
| - driver.set_page_load_timeout(5)
|
| - return driver
|
| -
|
| -def main(argv):
|
| - parser = argparse.ArgumentParser()
|
| - parser.add_argument('--out', required=True)
|
| - parser.add_argument('urls', nargs='*')
|
| - parser.add_argument('--force', action='store_true')
|
| - parser.add_argument('--urls-file')
|
| - parser.add_argument('--restart', action='store_true')
|
| - options = parser.parse_args(argv)
|
| -
|
| - outdir = options.out
|
| - if not options.restart:
|
| - if os.path.exists(outdir):
|
| - if not options.force:
|
| - print outdir + ' exists'
|
| - return 1
|
| - shutil.rmtree(outdir, ignore_errors=True)
|
| - os.makedirs(outdir)
|
| - else:
|
| - if not os.path.exists(outdir):
|
| - print outdir + ' doesn\'t exist'
|
| - return 1
|
| -
|
| - addBuildtoolsToPath()
|
| -
|
| - if options.urls:
|
| - files = options.urls
|
| - elif options.urls_file:
|
| - with open(options.urls_file) as u:
|
| - files = u.read().splitlines()
|
| - else:
|
| - print 'oh no'
|
| - return 1
|
| -
|
| - driver = newDriver()
|
| - output = []
|
| - startIndex = 0
|
| - if options.restart:
|
| - prevfiles = [os.path.join(outdir, f) for f in os.listdir(outdir)]
|
| - prevfiles = [f for f in prevfiles if os.path.isfile(f) and os.path.splitext(f)[1] == '.info']
|
| - for f in prevfiles:
|
| - with open(f) as infofile:
|
| - info = json.load(infofile)
|
| - output.append(info)
|
| - startIndex = max([i['index'] for i in output]) + 1
|
| - print 'starting at ', startIndex
|
| -
|
| - try:
|
| - for i, f in enumerate(files):
|
| - prefix = '%s/%d' % (outdir, i)
|
| - if i < startIndex:
|
| - continue
|
| - try:
|
| - ss = '%s.png' % prefix
|
| - dss = '%s-distilled.png' % prefix
|
| - driver.get(f)
|
| - time.sleep(0.1)
|
| - driver.save_screenshot(ss)
|
| - driver.get(getDistillerUrl(f))
|
| - time.sleep(0.1)
|
| - driver.save_screenshot(dss)
|
| - data = {
|
| - 'index': i,
|
| - 'url': f,
|
| - 'screenshot': ss,
|
| - 'distilled': dss,
|
| - }
|
| - output.append(data)
|
| - with open('%s.info' % prefix, 'w') as info:
|
| - json.dump(data, info)
|
| -
|
| - except Exception as e:
|
| - driver.quit()
|
| - driver = newDriver()
|
| - pass
|
| -
|
| - finally:
|
| - driver.quit()
|
| -
|
| - with open('%s/index' % outdir, 'w') as index:
|
| - json.dump(output, index)
|
| - return 0
|
| -
|
| -if __name__ == '__main__':
|
| - sys.exit(main(sys.argv[1:]))
|
| -
|
|
|