update
This commit is contained in:
parent
d8d3ff9b8e
commit
506047ca5c
@ -22,21 +22,21 @@ class Log:
|
|||||||
if self.print_error:
|
if self.print_error:
|
||||||
print(f"{datetime.now()} -> ERROR: {error}")
|
print(f"{datetime.now()} -> ERROR: {error}")
|
||||||
if self.save_error:
|
if self.save_error:
|
||||||
with open("log.txt", "a") as file:
|
with open("log.txt", "a", encoding='utf-8') as file:
|
||||||
file.write(f"\n{datetime.now()} -> ERROR: {error}")
|
file.write(f"\n{datetime.now()} -> ERROR: {error}")
|
||||||
|
|
||||||
def warning(self, warning):
|
def warning(self, warning):
|
||||||
if self.print_warning:
|
if self.print_warning:
|
||||||
print(f"{datetime.now()} -> Warning: {warning}")
|
print(f"{datetime.now()} -> Warning: {warning}")
|
||||||
if self.save_warning:
|
if self.save_warning:
|
||||||
with open("log.txt", "a") as file:
|
with open("log.txt", "a", encoding='utf-8') as file:
|
||||||
file.write(f"\n{datetime.now()} -> Warning: {warning}")
|
file.write(f"\n{datetime.now()} -> Warning: {warning}")
|
||||||
|
|
||||||
def message(self, message):
|
def message(self, message):
|
||||||
if self.print_messages:
|
if self.print_messages:
|
||||||
print(f"{datetime.now()} -> message: {message}")
|
print(f"{datetime.now()} -> message: {message}")
|
||||||
if self.save_messages:
|
if self.save_messages:
|
||||||
with open("log.txt", "a") as file:
|
with open("log.txt", "a", encoding='utf-8') as file:
|
||||||
file.write(f"\n{datetime.now()} -> message: {message}")
|
file.write(f"\n{datetime.now()} -> message: {message}")
|
||||||
|
|
||||||
def debug(self, debug):
|
def debug(self, debug):
|
||||||
@ -46,7 +46,7 @@ class Log:
|
|||||||
|
|
||||||
class Update:
|
class Update:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
with open("version.json", "r") as f: # loading settings
|
with open("version.json", "r", encoding='utf-8') as f: # loading settings
|
||||||
version = json.load(f)
|
version = json.load(f)
|
||||||
self.url = "https://raw.githubusercontent.com/UntriexTv/test_directory/main/ver.json"
|
self.url = "https://raw.githubusercontent.com/UntriexTv/test_directory/main/ver.json"
|
||||||
self.version = version["version"]
|
self.version = version["version"]
|
||||||
@ -88,7 +88,7 @@ class Scan:
|
|||||||
self.errors.append("Filesystem is missing")
|
self.errors.append("Filesystem is missing")
|
||||||
else:
|
else:
|
||||||
try:
|
try:
|
||||||
with open("filesystem.json", "r") as f:
|
with open("filesystem.json", "r", encoding='utf-8') as f:
|
||||||
filesystem = json.load(f)
|
filesystem = json.load(f)
|
||||||
except:
|
except:
|
||||||
self.state_list["error"].append("filesystem")
|
self.state_list["error"].append("filesystem")
|
||||||
@ -120,5 +120,6 @@ class Scan:
|
|||||||
|
|
||||||
|
|
||||||
def fix_version(self):
|
def fix_version(self):
|
||||||
subprocess.check_output(["python3", "system.py", "update"])
|
o = subprocess.check_output(["python3", "system.py", "update"])
|
||||||
|
print(o)
|
||||||
|
|
||||||
|
0
server/files/PQ.apk
Normal file
0
server/files/PQ.apk
Normal file
198
server/files/sample.pdf
Normal file
198
server/files/sample.pdf
Normal file
@ -0,0 +1,198 @@
|
|||||||
|
%PDF-1.3
|
||||||
|
%âãÏÓ
|
||||||
|
|
||||||
|
1 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Catalog
|
||||||
|
/Outlines 2 0 R
|
||||||
|
/Pages 3 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
2 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Outlines
|
||||||
|
/Count 0
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
3 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Pages
|
||||||
|
/Count 2
|
||||||
|
/Kids [ 4 0 R 6 0 R ]
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
4 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Page
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 9 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 8 0 R
|
||||||
|
>>
|
||||||
|
/MediaBox [0 0 612.0000 792.0000]
|
||||||
|
/Contents 5 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
5 0 obj
|
||||||
|
<< /Length 1074 >>
|
||||||
|
stream
|
||||||
|
2 J
|
||||||
|
BT
|
||||||
|
0 0 0 rg
|
||||||
|
/F1 0027 Tf
|
||||||
|
57.3750 722.2800 Td
|
||||||
|
( A Simple PDF File ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 688.6080 Td
|
||||||
|
( This is a small demonstration .pdf file - ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 664.7040 Td
|
||||||
|
( just for use in the Virtual Mechanics tutorials. More text. And more ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 652.7520 Td
|
||||||
|
( text. And more text. And more text. And more text. ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 628.8480 Td
|
||||||
|
( And more text. And more text. And more text. And more text. And more ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 616.8960 Td
|
||||||
|
( text. And more text. Boring, zzzzz. And more text. And more text. And ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 604.9440 Td
|
||||||
|
( more text. And more text. And more text. And more text. And more text. ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 592.9920 Td
|
||||||
|
( And more text. And more text. ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 569.0880 Td
|
||||||
|
( And more text. And more text. And more text. And more text. And more ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 557.1360 Td
|
||||||
|
( text. And more text. And more text. Even more. Continued on page 2 ...) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
6 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Page
|
||||||
|
/Parent 3 0 R
|
||||||
|
/Resources <<
|
||||||
|
/Font <<
|
||||||
|
/F1 9 0 R
|
||||||
|
>>
|
||||||
|
/ProcSet 8 0 R
|
||||||
|
>>
|
||||||
|
/MediaBox [0 0 612.0000 792.0000]
|
||||||
|
/Contents 7 0 R
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
7 0 obj
|
||||||
|
<< /Length 676 >>
|
||||||
|
stream
|
||||||
|
2 J
|
||||||
|
BT
|
||||||
|
0 0 0 rg
|
||||||
|
/F1 0027 Tf
|
||||||
|
57.3750 722.2800 Td
|
||||||
|
( Simple PDF File 2 ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 688.6080 Td
|
||||||
|
( ...continued from page 1. Yet more text. And more text. And more text. ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 676.6560 Td
|
||||||
|
( And more text. And more text. And more text. And more text. And more ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 664.7040 Td
|
||||||
|
( text. Oh, how boring typing this stuff. But not as boring as watching ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 652.7520 Td
|
||||||
|
( paint dry. And more text. And more text. And more text. And more text. ) Tj
|
||||||
|
ET
|
||||||
|
BT
|
||||||
|
/F1 0010 Tf
|
||||||
|
69.2500 640.8000 Td
|
||||||
|
( Boring. More, a little more text. The end, and just as well. ) Tj
|
||||||
|
ET
|
||||||
|
endstream
|
||||||
|
endobj
|
||||||
|
|
||||||
|
8 0 obj
|
||||||
|
[/PDF /Text]
|
||||||
|
endobj
|
||||||
|
|
||||||
|
9 0 obj
|
||||||
|
<<
|
||||||
|
/Type /Font
|
||||||
|
/Subtype /Type1
|
||||||
|
/Name /F1
|
||||||
|
/BaseFont /Helvetica
|
||||||
|
/Encoding /WinAnsiEncoding
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
10 0 obj
|
||||||
|
<<
|
||||||
|
/Creator (Rave \(http://www.nevrona.com/rave\))
|
||||||
|
/Producer (Nevrona Designs)
|
||||||
|
/CreationDate (D:20060301072826)
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
|
||||||
|
xref
|
||||||
|
0 11
|
||||||
|
0000000000 65535 f
|
||||||
|
0000000019 00000 n
|
||||||
|
0000000093 00000 n
|
||||||
|
0000000147 00000 n
|
||||||
|
0000000222 00000 n
|
||||||
|
0000000390 00000 n
|
||||||
|
0000001522 00000 n
|
||||||
|
0000001690 00000 n
|
||||||
|
0000002423 00000 n
|
||||||
|
0000002456 00000 n
|
||||||
|
0000002574 00000 n
|
||||||
|
|
||||||
|
trailer
|
||||||
|
<<
|
||||||
|
/Size 11
|
||||||
|
/Root 1 0 R
|
||||||
|
/Info 10 0 R
|
||||||
|
>>
|
||||||
|
|
||||||
|
startxref
|
||||||
|
2714
|
||||||
|
%%EOF
|
BIN
server/files/test.png
Normal file
BIN
server/files/test.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 76 KiB |
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"location": "izba",
|
"location": "49.14178021389778,18.353783098441415",
|
||||||
"description": {
|
"description": {
|
||||||
"title": "legionrpi",
|
"title": "legionrpi",
|
||||||
"description_s": "krátky popis, ktorý bude zobrazený iba v náhladovom okne",
|
"description_s": "krátky popis, ktorý bude zobrazený iba v náhladovom okne",
|
||||||
"description_l": "dlhší popis zariadenia, ktorý bude zobrazený po otvorení",
|
"description_l": "dlhší popis zariadenia, ktorý bude zobrazený po otvorení",
|
||||||
"photo_s": "mala_fotka.png",
|
"photo_s": "test.jpg",
|
||||||
"photo_b": "velka fotka.png"
|
"photo_b": "test.png"
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
|
160
server/log.txt
160
server/log.txt
@ -1,3 +1,159 @@
|
|||||||
|
|
||||||
2021-03-15 10:13:26.660898 -> Warning: 192.168.1.232 disconnected/is not available
|
2021-03-21 12:33:11.947538 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
2021-03-15 11:23:33.589998 -> Warning: 192.168.1.231 disconnected/is not available
|
2021-03-24 09:47:07.677185 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-03-24 10:51:12.802174 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-03-24 10:51:12.804164 -> Warning: 192.168.1.231 disconnected/is not available
|
||||||
|
2021-03-24 12:20:17.717820 -> Warning: 192.168.1.231 disconnected/is not available
|
||||||
|
2021-03-24 12:20:18.728113 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-06 17:47:36.579990 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-06 18:01:09.637683 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-06 18:06:27.367910 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:09:14.702582 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:09:44.558742 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:11:19.482976 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:21:00.445053 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: Internal Server Error
|
||||||
|
2021-04-06 18:21:00.468768 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: Internal Server Error
|
||||||
|
2021-04-06 18:26:26.230043 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:26:26.765624 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:26:46.326513 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:26:46.857832 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:27:17.853160 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:27:18.393648 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:28:32.760504 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:28:33.303332 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Version not found.\n"
|
||||||
|
2021-04-06 18:28:47.795564 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-06 18:29:38.864951 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-06 18:30:21.991616 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Download succefull\nExtracting update\nupdate to 0.6 was succefull.\n"
|
||||||
|
2021-04-06 18:30:22.828559 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "Download succefull\nExtracting update\nupdate to 0.6 was succefull.\n"
|
||||||
|
2021-04-06 18:38:39.034010 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version {'version': '0.6', 'id': 4, 'url': 'https://raw.githubusercontent.com/UntriexTv/test_directory/main/ver.json'} to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:38:39.846078 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version {'version': '0.6', 'id': 4, 'url': 'https://raw.githubusercontent.com/UntriexTv/test_directory/main/ver.json'} to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:38:43.579251 -> Warning: 192.168.1.231 disconnected/is not available
|
||||||
|
2021-04-06 18:41:20.200515 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version {'0.1': {'change_list': 'this is only initial release for testing purpose', 'id': 2}, '0.5': {'change_list': 'fist working release', 'id': 3}, '0.6': {'change_list': 'normal update', 'id': 4}} to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:41:21.012333 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version {'0.1': {'change_list': 'this is only initial release for testing purpose', 'id': 2}, '0.5': {'change_list': 'fist working release', 'id': 3}, '0.6': {'change_list': 'normal update', 'id': 4}} to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:43:14.079603 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:43:14.908686 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:44:45.325212 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:44:45.334610 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:44:51.128403 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:44:51.135988 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: {"detail":"Not Found"}
|
||||||
|
2021-04-06 18:45:13.073433 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:45:13.894493 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:46:42.900283 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:46:43.720053 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:47:20.543756 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:47:21.533385 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:48:44.524464 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:48:45.362610 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:49:28.460321 -> Warning: 192.168.1.232 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:49:29.387142 -> Warning: 192.168.1.231 failed to update. Manual update may be needed for proper working of network.
|
||||||
|
Response from server: "SUCCESS\nUpdate from version 0.6 to 0.6 was sucesfull\n"
|
||||||
|
2021-04-06 18:52:52.010837 -> Warning: 192.168.1.231 disconnected/is not available
|
||||||
|
2021-04-06 18:53:06.029220 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-06 19:52:34.214066 -> Warning: Device Address(host='10.42.0.238', port=18381) is creating new sensor data.
|
||||||
|
SENSOR: ['vlhkost', '40']
|
||||||
|
2021-04-06 20:58:51.194511 -> Warning: Address(host='10.42.0.238', port=11244) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='18'
|
||||||
|
2021-04-06 20:58:52.311838 -> Warning: Address(host='10.42.0.238', port=8118) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='52'
|
||||||
|
2021-04-06 21:00:22.844916 -> Warning: Address(host='10.42.0.238', port=9199) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='27'
|
||||||
|
2021-04-06 21:00:23.915833 -> Warning: Address(host='10.42.0.238', port=15482) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='95'
|
||||||
|
2021-04-06 21:01:04.874694 -> Warning: Address(host='10.42.0.238', port=4606) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='24'
|
||||||
|
2021-04-06 21:01:06.020948 -> Warning: Address(host='10.42.0.238', port=16111) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='95'
|
||||||
|
2021-04-06 21:02:56.676046 -> Warning: Address(host='10.42.0.238', port=1280) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-06 21:02:57.773619 -> Warning: Address(host='10.42.0.238', port=12034) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='91'
|
||||||
|
2021-04-07 14:07:15.258217 -> Warning: Address(host='10.42.0.238', port=32353) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='19'
|
||||||
|
2021-04-07 14:07:16.454490 -> Warning: Address(host='10.42.0.238', port=19858) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 14:17:42.961164 -> Warning: Address(host='10.42.0.238', port=4696) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 14:17:44.114338 -> Warning: Address(host='10.42.0.238', port=4387) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='42'
|
||||||
|
2021-04-07 14:18:25.886229 -> Warning: 192.168.1.232 disconnected/is not available
|
||||||
|
2021-04-07 14:22:13.260725 -> ERROR: Sensor data download from 1 failed.
|
||||||
|
ERROR: 1 is not in list
|
||||||
|
2021-04-07 14:22:42.995956 -> ERROR: Sensor data download from 1 failed.
|
||||||
|
ERROR: 1 is not in list
|
||||||
|
2021-04-07 17:06:13.637610 -> ERROR: Sensor data download from 25 failed.
|
||||||
|
ERROR: 25 is not in list
|
||||||
|
2021-04-07 17:16:09.500542 -> Warning: test on server 192.168.1.231 is changed.
|
||||||
|
2021-04-07 17:24:05.379288 -> Warning: Address(host='10.42.0.238', port=25175) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 17:24:06.475344 -> Warning: Address(host='10.42.0.238', port=5919) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 17:34:29.681729 -> Warning: Address(host='10.42.0.238', port=8767) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 17:34:30.857047 -> Warning: Address(host='10.42.0.238', port=19458) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 17:35:06.210117 -> Warning: Address(host='10.42.0.238', port=15677) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 17:35:07.332588 -> Warning: Address(host='10.42.0.238', port=27433) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 17:36:02.490752 -> Warning: Address(host='10.42.0.238', port=29010) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 17:36:03.561727 -> Warning: Address(host='10.42.0.238', port=26279) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 17:39:30.650731 -> Warning: Address(host='10.42.0.238', port=26716) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 17:39:31.746802 -> Warning: Address(host='10.42.0.238', port=11238) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 19:03:34.951363 -> Warning: Address(host='10.42.0.238', port=19388) created new sensor.
|
||||||
|
SENSOR: name='Teplota' value='20'
|
||||||
|
2021-04-07 19:03:36.076556 -> Warning: Address(host='10.42.0.238', port=24582) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-07 20:03:53.809025 -> Warning: Address(host='10.42.0.238', port=30182) created new sensor.
|
||||||
|
SENSOR: name='Vlhkost' value='46'
|
||||||
|
2021-04-14 12:55:05.505789 -> ERROR: Sensor data download from 1 failed.
|
||||||
|
ERROR: 1 is not in list
|
||||||
|
2021-04-14 13:04:30.181791 -> Warning: Address(host='192.168.1.99', port=54888) created new sensor.
|
||||||
|
SENSOR: name='sensor1' value='test'
|
||||||
|
2021-04-14 13:04:36.780037 -> Warning: Address(host='192.168.1.99', port=54904) created new sensor.
|
||||||
|
SENSOR: name='sensor2' value='1234'
|
||||||
|
2021-04-14 13:06:59.405575 -> Warning: Address(host='192.168.1.99', port=54974) created new sensor.
|
||||||
|
SENSOR: name='sensor2' value='1234'
|
||||||
|
2021-04-14 14:09:58.696666 -> Warning: Address(host='192.168.1.99', port=58182) created new sensor.
|
||||||
|
SENSOR: name='sensor1' value='test'
|
||||||
|
2021-04-14 14:10:06.190377 -> Warning: Address(host='192.168.1.99', port=58192) created new sensor.
|
||||||
|
SENSOR: name='sensor2' value='123456789'
|
@ -1,14 +1,13 @@
|
|||||||
import hashlib
|
import hashlib
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import sys
|
|
||||||
import threading
|
import threading
|
||||||
import time
|
import time
|
||||||
import engine
|
import engine
|
||||||
import requests
|
import requests
|
||||||
import uuid
|
import uuid
|
||||||
import subprocess
|
import subprocess
|
||||||
from fastapi import FastAPI, Request
|
from fastapi import FastAPI, Request, File, UploadFile
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi.responses import FileResponse
|
from fastapi.responses import FileResponse
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
@ -18,12 +17,12 @@ check.check_to_go()
|
|||||||
if check.state_list["error"]:
|
if check.state_list["error"]:
|
||||||
for error in check.errors:
|
for error in check.errors:
|
||||||
print(error)
|
print(error)
|
||||||
sys.exit()
|
check.fix_version()
|
||||||
|
|
||||||
with open("settings.json", "r") as f: # loading settings
|
with open("settings.json", "r", encoding='utf-8') as f: # loading settings
|
||||||
settings = json.load(f)
|
settings = json.load(f)
|
||||||
|
|
||||||
with open("filesystem.json", "r") as f: # loading filesystem
|
with open("filesystem.json", "r", encoding='utf-8') as f: # loading filesystem
|
||||||
filesystem = json.load(f)
|
filesystem = json.load(f)
|
||||||
|
|
||||||
IP = settings["IP"]
|
IP = settings["IP"]
|
||||||
@ -54,7 +53,7 @@ time_to_heartbeat_offline = settings[
|
|||||||
heartbeat_table = settings["heartbeat_table"]
|
heartbeat_table = settings["heartbeat_table"]
|
||||||
sensors = {}
|
sensors = {}
|
||||||
|
|
||||||
messages = []
|
messages = [] # {user: "", timestamp: time.Time(), message: ""}
|
||||||
|
|
||||||
heartbeat_table["ID"].append(ID)
|
heartbeat_table["ID"].append(ID)
|
||||||
heartbeat_table["IP"].append(IP)
|
heartbeat_table["IP"].append(IP)
|
||||||
@ -163,8 +162,12 @@ def get_file(IDx: int, file: str, request: Request):
|
|||||||
log.error(f"{request.client} tried to access file ({file}) on id {IDx} that does not exist.")
|
log.error(f"{request.client} tried to access file ({file}) on id {IDx} that does not exist.")
|
||||||
return f"ERROR: {file} does not exist."
|
return f"ERROR: {file} does not exist."
|
||||||
log.message(f"Downloaded {file} from {server_ip}")
|
log.message(f"Downloaded {file} from {server_ip}")
|
||||||
with open(f"cache/{IDx}/{file}", "wb") as save:
|
if ".txt" in file:
|
||||||
save.write(bytes(r.content))
|
with open(f"cache/{IDx}/{file}", "wb", encoding='utf-8') as save:
|
||||||
|
save.write(bytes(r.content))
|
||||||
|
else:
|
||||||
|
with open(f"cache/{IDx}/{file}", "wb") as save:
|
||||||
|
save.write(bytes(r.content))
|
||||||
return FileResponse(f"cache/{IDx}/{file}")
|
return FileResponse(f"cache/{IDx}/{file}")
|
||||||
|
|
||||||
|
|
||||||
@ -222,32 +225,39 @@ def admin_get(command: str):
|
|||||||
state = subprocess.check_output(["python3", "system.py", "update", "-version", f"""{command.split("-")[1]}"""])
|
state = subprocess.check_output(["python3", "system.py", "update", "-version", f"""{command.split("-")[1]}"""])
|
||||||
log.warning(state.decode("utf-8"))
|
log.warning(state.decode("utf-8"))
|
||||||
return state.decode("utf-8")
|
return state.decode("utf-8")
|
||||||
if command == "setting":
|
if command == "settings":
|
||||||
return settings
|
return settings
|
||||||
|
if command == "filesystem":
|
||||||
|
return filesystem
|
||||||
|
|
||||||
|
|
||||||
@app.post("admin/post/{command}")
|
@app.post("/admin/upload_file")
|
||||||
def admin_post(command: str, data):
|
async def create_upload_file(uploaded_file: UploadFile = File(...), patch: str = ""):
|
||||||
pass
|
file_location = f"{patch}{uploaded_file.filename}"
|
||||||
|
with open(file_location, "wb+") as file_object:
|
||||||
|
file_object.write(uploaded_file.file.read())
|
||||||
|
return {"info": f"file '{uploaded_file.filename}' saved at '{file_location}'"}
|
||||||
|
|
||||||
|
|
||||||
# Todo upload of update file and settings
|
# Todo upload of update file and settings
|
||||||
|
|
||||||
|
|
||||||
@app.get("/messages/get")
|
@app.get("/messages/get")
|
||||||
def get_messages(m_from: int = 0, m_to: int = 10):
|
def get_messages(timestamp):
|
||||||
return messages[m_from:m_to]
|
for position, message in enumerate(reversed(messages)):
|
||||||
|
if message["timestamp"] == timestamp:
|
||||||
|
return reversed(messages)[:position]
|
||||||
|
|
||||||
|
|
||||||
@app.get("/messages/reqister")
|
@app.get("/messages/reqister")
|
||||||
def get_messages():
|
def get_messages():
|
||||||
return uuid.uuid4().hex[24:]
|
return [uuid.uuid4().hex[24:], messages[:9]]
|
||||||
|
|
||||||
|
|
||||||
@app.post("/messages/post")
|
@app.post("/messages/post")
|
||||||
def get_messages(m_sender: str = None, message: str = None):
|
def get_messages(m_sender: str = None, message: str = None):
|
||||||
if m_sender and message:
|
if m_sender and message:
|
||||||
messages.append({"sender": m_sender, "message": message})
|
messages.append({"sender": m_sender, "message": message, "timestamp": time.time()})
|
||||||
return "successful"
|
return "successful"
|
||||||
else:
|
else:
|
||||||
return "Empty message/sender"
|
return "Empty message/sender"
|
||||||
@ -303,7 +313,7 @@ def mainloop():
|
|||||||
log.message("Saving heartbeat table.")
|
log.message("Saving heartbeat table.")
|
||||||
log.debug(f"Saving heartbeat table: {heartbeat_table}")
|
log.debug(f"Saving heartbeat table: {heartbeat_table}")
|
||||||
settings["heartbeat_table"] = heartbeat_table
|
settings["heartbeat_table"] = heartbeat_table
|
||||||
with open("settings.json", "w") as file:
|
with open("settings.json", "w", encoding='utf-8') as file:
|
||||||
json.dump(settings, file, indent=2)
|
json.dump(settings, file, indent=2)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"ID": 0,
|
"ID": 0,
|
||||||
"IP": "192.168.1.99",
|
"IP": "192.168.1.99",
|
||||||
"location": "izba",
|
"location": "49.14178021389778,18.353783098441415",
|
||||||
"time_to_heartbeat": 20,
|
"time_to_heartbeat": 20,
|
||||||
"time_to_heartbeat_offline": 25,
|
"time_to_heartbeat_offline": 25,
|
||||||
"save_table": false,
|
"save_table": false,
|
||||||
@ -13,7 +13,7 @@
|
|||||||
"print_warning": true,
|
"print_warning": true,
|
||||||
"save_message": false,
|
"save_message": false,
|
||||||
"print_message": true,
|
"print_message": true,
|
||||||
"enable_debug": false
|
"enable_debug": true
|
||||||
},
|
},
|
||||||
"heartbeat_table": {
|
"heartbeat_table": {
|
||||||
"ID": [],
|
"ID": [],
|
||||||
|
@ -29,29 +29,24 @@ if command in ["u", "update"]:
|
|||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
version_download = 0
|
|
||||||
try:
|
try:
|
||||||
with open("version.json", "r") as f: # loading settings
|
with open("version.json", "r", encoding='utf-8') as f: # loading settings
|
||||||
version = json.load(f)
|
version = json.load(f)
|
||||||
except:
|
except:
|
||||||
version = {"id": 0}
|
version = {"id": 0, "version": "recovery"}
|
||||||
for ver, data in enumerate(server_version.values()):
|
for ver, data in enumerate(server_version.values()):
|
||||||
if data["id"] > version["id"] and ver > version_download:
|
if data["id"] > version["id"]:
|
||||||
version_download = list(server_version.keys())[ver]
|
version_download = list(server_version.keys())[ver]
|
||||||
try:
|
try:
|
||||||
with open("update.zip", "wb") as save:
|
with open("update.zip", "wb", encoding='utf-8') as save:
|
||||||
save.write(
|
save.write(
|
||||||
bytes(requests.get(
|
bytes(requests.get(
|
||||||
f"https://github.com/UntriexTv/test_directory/releases/download/{version_download}/update.zip").content))
|
f"https://github.com/UntriexTv/test_directory/releases/download/{version_download}/update.zip").content))
|
||||||
except Exception as error:
|
except Exception as error:
|
||||||
print(f"FAILED TO DOWNLOAD UPDATE. ERROR: {error}")
|
print(f"FAILED TO DOWNLOAD UPDATE. ERROR: {error}")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
if not os.path.isdir("update"):
|
|
||||||
os.mkdir("update")
|
|
||||||
with zipfile.ZipFile("update.zip", "r") as zip_ref:
|
with zipfile.ZipFile("update.zip", "r") as zip_ref:
|
||||||
zip_ref.extractall("update")
|
zip_ref.extractall("")
|
||||||
os.rmdir("update")
|
|
||||||
os.remove("update.zip")
|
os.remove("update.zip")
|
||||||
print("SUCCESS")
|
print("SUCCESS")
|
||||||
print(f"""Update from version {version["version"]} to {version_download} was sucesfull""")
|
print(f"""Update from version {version["version"]} to {version_download} was sucesfull""")
|
||||||
@ -60,24 +55,24 @@ if command == "clean":
|
|||||||
if arguments[1] == "all":
|
if arguments[1] == "all":
|
||||||
open("log.txt", "w").close()
|
open("log.txt", "w").close()
|
||||||
|
|
||||||
with open("settings.json", "r") as file:
|
with open("settings.json", "r", encoding='utf-8') as file:
|
||||||
settings = json.load(file)
|
settings = json.load(file)
|
||||||
|
|
||||||
for line in settings["heartbeat_table"]:
|
for line in settings["heartbeat_table"]:
|
||||||
settings["heartbeat_table"][line] = []
|
settings["heartbeat_table"][line] = []
|
||||||
|
|
||||||
with open("settings.json", "w") as file:
|
with open("settings.json", "w", encoding='utf-8') as file:
|
||||||
json.dump(settings, file, indent=2)
|
json.dump(settings, file, indent=2)
|
||||||
|
|
||||||
if arguments[1] == "log":
|
if arguments[1] == "log":
|
||||||
open("log.txt", "w").close()
|
open("log.txt", "w").close()
|
||||||
|
|
||||||
if arguments[1] == "heartbeat_table":
|
if arguments[1] == "heartbeat_table":
|
||||||
with open("settings.json", "r") as file:
|
with open("settings.json", "r", encoding='utf-8') as file:
|
||||||
settings = json.load(file)
|
settings = json.load(file)
|
||||||
|
|
||||||
for line in settings["heartbeat_table"]:
|
for line in settings["heartbeat_table"]:
|
||||||
settings["heartbeat_table"][line] = []
|
settings["heartbeat_table"][line] = []
|
||||||
|
|
||||||
with open("settings.json", "w") as file:
|
with open("settings.json", "w", encoding='utf-8') as file:
|
||||||
json.dump(settings, file, indent=2)
|
json.dump(settings, file, indent=2)
|
||||||
|
@ -1,24 +0,0 @@
|
|||||||
import threading
|
|
||||||
import uuid
|
|
||||||
import time
|
|
||||||
|
|
||||||
zoznam = []
|
|
||||||
rovnake = 0
|
|
||||||
run = True
|
|
||||||
start = time.time()
|
|
||||||
|
|
||||||
def generate():
|
|
||||||
global zoznam, rovnake, run
|
|
||||||
while run:
|
|
||||||
cache = uuid.uuid4().hex[24:]
|
|
||||||
if cache in zoznam:
|
|
||||||
rovnake += 1
|
|
||||||
zoznam.append(cache)
|
|
||||||
pocet = len(zoznam)
|
|
||||||
print(f"{pocet} : {rovnake} rovnakých - {cache}")
|
|
||||||
if pocet > 50000:
|
|
||||||
break
|
|
||||||
|
|
||||||
|
|
||||||
generate()
|
|
||||||
print(f"process lasted {time.time()-start}")
|
|
Loading…
Reference in New Issue
Block a user