-
Notifications
You must be signed in to change notification settings - Fork 0
/
KeepScreenOn.py
52 lines (45 loc) · 1.48 KB
/
KeepScreenOn.py
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
from Screen import Screen
from Face import Face
from time import sleep
class KeepScreenOn:
def __init__(self):
self._isScreenOff = False
self._screen = Screen()
self._face = Face()
self._waitTime = 10
@property
def isScreenOff(self):
return self._isScreenOff
@isScreenOff.setter
def isScreenOff(self, state):
self._isScreenOff = state
@property
def isUserLooking(self):
return self._face.detectFace()
def faceMonitor(self):
userStatus = self.isUserLooking
# print('faceMonitor called')
if userStatus == -1:
return
# if user is looking and screen is OFF turn the screen on by moving mouse
elif userStatus:
print('face detected')
if self.isScreenOff:
self._screen.turnOn
self.isScreenOff = False
# if face detected and screen is ON then wait
else:
sleep(30)
# if user in not looking and screen is ON turn it OFF after waiting for 30 seconds
elif not self.isScreenOff:
sleep(10)
print('screen turned off')
self._screen.turnOff
self.isScreenOff = True
# redundant monitor
# def screenMonitor(self):
# print('screenMonitor called')
# if self.isScreenOff:
# if self.isUserLooking:
# self._screen.turnOn
# self.isScreenOff = False