|
|
@ -1,7 +1,7 @@ |
|
|
|
|
|
|
|
#!/usr/bin/env python3 |
|
|
|
import os |
|
|
|
import os |
|
|
|
import time |
|
|
|
import time |
|
|
|
import json |
|
|
|
import json |
|
|
|
|
|
|
|
|
|
|
|
import jwt |
|
|
|
import jwt |
|
|
|
|
|
|
|
|
|
|
|
from datetime import datetime, timedelta |
|
|
|
from datetime import datetime, timedelta |
|
|
@ -50,6 +50,8 @@ def register(show_spinner=False) -> str: |
|
|
|
private_key = f2.read() |
|
|
|
private_key = f2.read() |
|
|
|
|
|
|
|
|
|
|
|
# Block until we get the imei |
|
|
|
# Block until we get the imei |
|
|
|
|
|
|
|
serial = HARDWARE.get_serial() |
|
|
|
|
|
|
|
start_time = time.monotonic() |
|
|
|
imei1, imei2 = None, None |
|
|
|
imei1, imei2 = None, None |
|
|
|
while imei1 is None and imei2 is None: |
|
|
|
while imei1 is None and imei2 is None: |
|
|
|
try: |
|
|
|
try: |
|
|
@ -58,11 +60,14 @@ def register(show_spinner=False) -> str: |
|
|
|
cloudlog.exception("Error getting imei, trying again...") |
|
|
|
cloudlog.exception("Error getting imei, trying again...") |
|
|
|
time.sleep(1) |
|
|
|
time.sleep(1) |
|
|
|
|
|
|
|
|
|
|
|
serial = HARDWARE.get_serial() |
|
|
|
if time.monotonic() - start_time > 60 and show_spinner: |
|
|
|
|
|
|
|
spinner.update(f"registering device - serial: {serial}, IMEI: ({imei1}, {imei2})") |
|
|
|
|
|
|
|
|
|
|
|
params.put("IMEI", imei1) |
|
|
|
params.put("IMEI", imei1) |
|
|
|
params.put("HardwareSerial", serial) |
|
|
|
params.put("HardwareSerial", serial) |
|
|
|
|
|
|
|
|
|
|
|
backoff = 0 |
|
|
|
backoff = 0 |
|
|
|
|
|
|
|
start_time = time.monotonic() |
|
|
|
while True: |
|
|
|
while True: |
|
|
|
try: |
|
|
|
try: |
|
|
|
register_token = jwt.encode({'register': True, 'exp': datetime.utcnow() + timedelta(hours=1)}, private_key, algorithm='RS256') |
|
|
|
register_token = jwt.encode({'register': True, 'exp': datetime.utcnow() + timedelta(hours=1)}, private_key, algorithm='RS256') |
|
|
@ -82,6 +87,9 @@ def register(show_spinner=False) -> str: |
|
|
|
backoff = min(backoff + 1, 15) |
|
|
|
backoff = min(backoff + 1, 15) |
|
|
|
time.sleep(backoff) |
|
|
|
time.sleep(backoff) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if time.monotonic() - start_time > 60 and show_spinner: |
|
|
|
|
|
|
|
spinner.update(f"registering device - serial: {serial}, IMEI: ({imei1}, {imei2})") |
|
|
|
|
|
|
|
|
|
|
|
if show_spinner: |
|
|
|
if show_spinner: |
|
|
|
spinner.close() |
|
|
|
spinner.close() |
|
|
|
|
|
|
|
|
|
|
|