-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapi_handler.py
More file actions
68 lines (61 loc) · 2.05 KB
/
api_handler.py
File metadata and controls
68 lines (61 loc) · 2.05 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
import requests
class ApiObject:
"""
Az az osztály, mely lekérdezi a Raspberry Pi által futtatott REST API-tól a kiértékelés eredményeit, jelenleg
használaton kívül van
"""
def __init__(self, ip_address):
"""
Az osztály konstruktora
:param ip_address: Az eszköz IP-címe, melyen az API szerver fut
"""
self._address = ip_address
self.response = None
self._correct = 0.0
self._faulty = 0.0
def changed(self):
"""
Ez a metódus az API válasz változásának függvényében változtatja a visszatérési értékét
:return: True, hogyha változott a válasz
False, hogyha nem változott a válasz
"""
if self.response == self.get_results():
return False
else:
self.response = self.get_results()
self._correct = float(self.response[0]['correct'])
self._faulty = float(self.response[1]['faulty'])
return True
def get_results(self):
"""
Ez a metódus lekérdezi az osztályhoz tartozó címről az API választ
:return: A választ json formátumban, amennyiben létezik az objektum
"""
response = requests.get("http://" + self._address + ":5000/results")
if response.status_code == 200:
return response.json()
else:
return None
def correct(self):
"""
Ez a metódus dönti el, hogy a kiértékelés végeredményének mit tekintünk
:return: True, ha jó a termék
False, ha hibás a termék
None, ha nincsen adat
"""
if self._correct == 0.0 and self._faulty == 0.0:
return None
if self._correct > self._faulty:
if self._correct > 0.6:
return True
else:
return None
else:
return False
#
# A program belépési pontja
#
if __name__ == '__main__':
a = ApiObject('192.168.1.67')
while True:
pass