|
2 | 2 | import logging |
3 | 3 | import requests |
4 | 4 |
|
5 | | -class FullyKiosk(): |
| 5 | + |
| 6 | +class FullyKiosk: |
6 | 7 | def __init__(self, host, port, password): |
7 | 8 | self.host = host |
8 | 9 | self.port = port |
9 | 10 | self.password = password |
10 | 11 |
|
11 | | - self.getDeviceInfo() |
| 12 | + self._deviceInfo = None |
12 | 13 |
|
13 | 14 | def sendCommand(self, cmd, **kwargs): |
14 | 15 | url = f"http://{self.host}:{self.port}/?cmd={cmd}&password={self.password}&type=json" |
15 | 16 | for key, value in kwargs.items(): |
16 | 17 | url = url + f"&{key}={value}" |
17 | 18 |
|
18 | | - result = json.loads(requests.get(url).content) |
19 | | - print("{}".format(result)) |
| 19 | + try: |
| 20 | + result = json.loads(requests.get(url, timeout=10).content) |
| 21 | + except requests.exceptions.Timeout: |
| 22 | + print("Timeout error") |
| 23 | + |
| 24 | + return result |
20 | 25 |
|
21 | 26 | def getDeviceInfo(self): |
22 | | - result = self.sendCommand('deviceInfo') |
23 | | - self.deviceInfo = result |
24 | | - return self.deviceInfo |
| 27 | + result = self.sendCommand("deviceInfo") |
| 28 | + self._deviceInfo = result |
| 29 | + return self._deviceInfo |
25 | 30 |
|
| 31 | + @property |
| 32 | + def deviceInfo(self): |
| 33 | + return self._deviceInfo |
26 | 34 |
|
27 | 35 | def startScreensaver(self): |
28 | | - return self.sendCommand('startScreensaver') |
| 36 | + return self.sendCommand("startScreensaver") |
29 | 37 |
|
30 | 38 | def stopScreensaver(self): |
31 | | - return self.sendCommand('stopScreensaver') |
| 39 | + return self.sendCommand("stopScreensaver") |
32 | 40 |
|
33 | 41 | def screenOn(self): |
34 | | - return self.sendCommand('screenOn') |
| 42 | + return self.sendCommand("screenOn") |
35 | 43 |
|
36 | 44 | def screenOff(self): |
37 | | - return self.sendCommand('screenOff') |
| 45 | + return self.sendCommand("screenOff") |
| 46 | + |
| 47 | + def setScreenBrightness(self, brightness): |
| 48 | + return self.sendCommand( |
| 49 | + "setStringSetting", key="screenBrightness", value=brightness |
| 50 | + ) |
38 | 51 |
|
39 | 52 | def restartApp(self): |
40 | | - return self.sendCommand('restartApp') |
| 53 | + return self.sendCommand("restartApp") |
41 | 54 |
|
42 | 55 | def loadStartUrl(self): |
43 | | - return self.sendCommand('loadStartUrl') |
| 56 | + return self.sendCommand("loadStartUrl") |
44 | 57 |
|
45 | 58 | def loadUrl(self, url): |
46 | | - return self.sendCommand('loadUrl', url=url) |
| 59 | + return self.sendCommand("loadUrl", url=url) |
| 60 | + |
| 61 | + def playSound(self, url): |
| 62 | + return self.sendCommand("playSound", url=url) |
47 | 63 |
|
| 64 | + def stopSound(self) |
| 65 | + return self.sendCommand("stopSound") |
0 commit comments