-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathproj.py
More file actions
executable file
·85 lines (69 loc) · 1.69 KB
/
Copy pathproj.py
File metadata and controls
executable file
·85 lines (69 loc) · 1.69 KB
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#!/usr/bin/env python3
from pysdcp import Projector
from time import sleep
import sys
args_len = len(sys.argv)
first_part = ""
is_second_part = False
if args_len <= 2:
exit()
PROJ_IP_ADDRESS = sys.argv[1]
pj = Projector(PROJ_IP_ADDRESS)
def do_first_part(arg):
if arg == "power":
return True
elif arg == "mute":
return True
elif arg == "sleep":
return True
else:
return False
def do_sleep(arg):
try:
s = float(arg)
except ValueError:
print(f"Value {arg} doesn't look like a number!")
return False
sleep(s)
return True
def do_power(arg, pj):
if arg == "on":
pj.set_power(True)
elif arg == "off":
pj.set_power(False)
elif arg == "get":
print(pj.get_power())
else:
print("Command not understood.")
return False
return True
def do_mute(arg, pj):
if arg == "on":
pj.set_mute(True)
elif arg == "off":
pj.set_mute(False)
elif arg == "get":
print(pj.get_mute())
else:
print("Command not understood.")
return False
return True
for i in range(2, args_len):
if not is_second_part:
if not do_first_part(sys.argv[i]):
print("Command not understood.")
exit()
else:
is_second_part = True
first_part = sys.argv[i]
else:
is_second_part = False
if first_part == "sleep":
if not do_sleep(sys.argv[i]):
break
elif first_part == "power":
if not do_power(sys.argv[i], pj):
break
elif first_part == "mute":
if not do_mute(sys.argv[i], pj):
break