Example #1
0
def print_versions():
    print_name('pyscreenshot')
    print pyscreenshot.__version__
    man = BackendLoader()
    for name in man.all_names:
        man.force(name)
        print_name(name)
        try:
            x = man.selected()
            print x.backend_version()
        except Exception:
            print 'missing'
Example #2
0
def print_versions():
    print_name('pyscreenshot')
    print pyscreenshot.__version__
    man = BackendLoader()
    for name in man.all_names:
        man.force(name)
        print_name(name)
        try:
            x = man.selected()
            print x.backend_version()
        except Exception:
            print 'missing'
Example #3
0
def run(force_backend, bbox, bgcolor):
    color = 255 if bgcolor == 'white' else 0
    print force_backend, ' ' * (20 - len(force_backend)),
    if force_backend in SKIP:
        print 'SKIP'
        return

    BackendLoader().force(force_backend)
    im = pyscreenshot.grab(bbox=bbox)
    ls = list(im.getdata())
    print 'OK' if all([x == color or x == (color, color, color)
                       for x in ls]) else 'FAIL'
Example #4
0
def check_ref(backend, bbox):
    # some tests fail -> disable
    return

    BackendLoader().force(ref)
    img_ref = pyscreenshot.grab(bbox=bbox)
    img_debug(img_ref, ref + str(bbox))

    BackendLoader().force(backend)
    im = pyscreenshot.grab(bbox=bbox)
    img_debug(im, backend + str(bbox))

    eq_('RGB', img_ref.mode)
    eq_('RGB', im.mode)

    img_diff = ImageChops.difference(img_ref, im)
    bbox = img_diff.getbbox()
    if bbox:
        img_debug(img_diff, 'img_diff' + str(bbox))
    eq_(bbox, None,
        'different image data %s!=%s bbox=%s' % (ref, backend, bbox))
Example #5
0
def run_all(n, to_file, bbox=None):
    print
    print 'n=%s' % n, ', to_file:', to_file, ', bounding box:', bbox
    print '------------------------------------------------------'

    backends = BackendLoader().all_names
    for x in backends:
        try:
            run(x, n, to_file, bbox)


#            print 'grabbing by '+x
        except BackendLoaderError as e:
            print e
Example #6
0
def run_all(bgcolor, display, bbox):
    print
    print 'bgcolor=', bgcolor
    print '-------------------------------------'
    backends = BackendLoader().all_names
    for x in backends:
        try:
            with Display(size=display, bgcolor=bgcolor):
                #                time.sleep(1)
                try:
                    run(x, bbox, bgcolor=bgcolor)
                except BackendLoaderError as e:
                    print e
        except Exception as e:
            print e
Example #7
0
def run(force_backend, n, to_file, bbox=None):
    print '%-20s' % force_backend,

    BackendLoader().force(force_backend)

    f = tempfile.NamedTemporaryFile(suffix='.png', prefix='test')
    filename = f.name
    start = time.time()
    for i in range(n):
        if to_file:
            pyscreenshot.grab_to_file(filename)
        else:
            pyscreenshot.grab(bbox=bbox)
    end = time.time()
    dt = end - start
    print '%-4.2g sec' % (dt), '(%5d ms per call)' % (1000.0 * dt / n)
Example #8
0
 def test_mix(self):
     man = BackendLoader()
     man.force('scrot')
     man.set_preference(['imagemagick', 'scrot'])
     eq_(man.selected().name, 'scrot')
Example #9
0
 def test_force(self):
     man = BackendLoader()
     for name in ['imagemagick', 'scrot', 'pygtk', 'pyqt', 'wx']:
         man.force(name)
         eq_(man.selected().name, name)
         man.force(None)  # for other tests
Example #10
0
    def test_pref(self):
        man = BackendLoader()
        man.force(None)

        man.set_preference(['imagemagick', 'scrot'])
        eq_(man.selected().name, 'imagemagick')

        man.set_preference(['imagemagick', 'scrot', 'imagemagick'])
        eq_(man.selected().name, 'imagemagick')

        man.set_preference(['imagemagick'])
        eq_(man.selected().name, 'imagemagick')

        man.set_preference(['pygtk', 'imagemagick', 'scrot'])
        eq_(man.selected().name, 'pygtk')

        man.set_preference(['scrot', 'imagemagick'])
        eq_(man.selected().name, 'scrot')

        man.set_preference(['scrot', 'imagemagick', 'pygtk'])
        eq_(man.selected().name, 'scrot')

        man.set_preference(['scrot', 'imagemagick', 'scrot'])
        eq_(man.selected().name, 'scrot')

        man.set_preference(['scrot'])
        eq_(man.selected().name, 'scrot')
Example #11
0
def _get_loader():
    global BACKEND_LOADER
    if not BACKEND_LOADER:
        BACKEND_LOADER = BackendLoader()
    return BACKEND_LOADER
Example #12
0
 def test_mix(self):
     man = BackendLoader()
     man.force('scrot')
     man.set_preference(['imagemagick', 'scrot'])
     eq_(man.selected().name, 'scrot')
Example #13
0
 def test_force(self):
     man = BackendLoader()
     for name in ['imagemagick', 'scrot', 'pygtk', 'pyqt', 'wx']:
         man.force(name)
         eq_(man.selected().name, name)
         man.force(None)  # for other tests
Example #14
0
    def test_pref(self):
        man = BackendLoader()
        man.force(None)

        man.set_preference(['imagemagick', 'scrot'])
        eq_(man.selected().name, 'imagemagick')

        man.set_preference(['imagemagick', 'scrot', 'imagemagick'])
        eq_(man.selected().name, 'imagemagick')

        man.set_preference(['imagemagick'])
        eq_(man.selected().name, 'imagemagick')

        man.set_preference(['pygtk', 'imagemagick', 'scrot'])
        eq_(man.selected().name, 'pygtk')

        man.set_preference(['scrot', 'imagemagick'])
        eq_(man.selected().name, 'scrot')

        man.set_preference(['scrot', 'imagemagick', 'pygtk'])
        eq_(man.selected().name, 'scrot')

        man.set_preference(['scrot', 'imagemagick', 'scrot'])
        eq_(man.selected().name, 'scrot')

        man.set_preference(['scrot'])
        eq_(man.selected().name, 'scrot')