forked from BoboTiG/python-mss
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfactory.py
More file actions
36 lines (28 loc) · 898 Bytes
/
factory.py
File metadata and controls
36 lines (28 loc) · 898 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# coding: utf-8
"""
This is part of the MSS Python's module.
Source: https://github.com/BoboTiG/python-mss
"""
import platform
from .exception import ScreenShotError
def mss(**kwargs):
# type: (**str) -> MSS
""" Factory returning a proper MSS class instance.
It detects the plateform we are running on
and choose the most adapted mss_class to take
screenshots.
It then proxies its arguments to the class for
instantiation.
"""
operating_system = platform.system().lower()
if operating_system == "darwin":
from .darwin import MSS
elif operating_system == "linux":
from .linux import MSS
elif operating_system == "windows":
from .windows import MSS
else:
raise ScreenShotError(
"System {!r} not (yet?) implemented.".format(operating_system)
)
return MSS(**kwargs)