asd
This commit is contained in:
@ -0,0 +1,38 @@
|
||||
from easyprocess import EasyProcess
|
||||
|
||||
from pyscreenshot.plugins.backend import UNKNOWN_VERSION, CBackend
|
||||
from pyscreenshot.tempexport import read_prog_img
|
||||
from pyscreenshot.util import platform_is_osx
|
||||
|
||||
PROGRAM = "screencapture"
|
||||
# https://ss64.com/osx/screencapture.html
|
||||
# By default screenshots are saved as .png files,
|
||||
|
||||
|
||||
class ScreencaptureError(Exception):
|
||||
pass
|
||||
|
||||
|
||||
class ScreencaptureWrapper(CBackend):
|
||||
name = "mac_screencapture"
|
||||
is_subprocess = True
|
||||
|
||||
def grab(self, bbox=None):
|
||||
if not platform_is_osx():
|
||||
raise ScreencaptureError("This backend runs only on Darwin")
|
||||
|
||||
command = [PROGRAM, "-x"]
|
||||
if bbox:
|
||||
width = bbox[2] - bbox[0]
|
||||
height = bbox[3] - bbox[1]
|
||||
command += ["-R{},{},{},{}".format(bbox[0], bbox[1], width, height)]
|
||||
im = read_prog_img(command)
|
||||
return im
|
||||
|
||||
def backend_version(self):
|
||||
p = EasyProcess([PROGRAM, "-help"])
|
||||
p.enable_stdout_log = False
|
||||
p.enable_stderr_log = False
|
||||
p.call()
|
||||
if p.return_code == 0:
|
||||
return UNKNOWN_VERSION
|
||||
Reference in New Issue
Block a user