Update monitor.py

fix the problem when user data do sometimes not type bytes but string
This commit is contained in:
Waldek 2020-12-23 06:59:34 +01:00 committed by GitHub
parent 5e47019ad8
commit 78d5bdd450
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 21 additions and 5 deletions

View File

@ -223,7 +223,7 @@ def add_hb_peer(_peer_conf, _ctable_loc, _peer):
# if the Frequency is 000.xxx assume it's not an RF peer, otherwise format the text fields
# (9 char, but we are just software) see https://wiki.brandmeister.network/index.php/Homebrew/example/php2
if _peer_conf['TX_FREQ'].isalnum() and _peer_conf['RX_FREQ'].isalnum():
if _peer_conf['TX_FREQ'].isalnum() and _peer_conf['RX_FREQ'].isalnum() and str(type(_peer_conf['TX_FREQ'])).find("bytes") != -1 and str(type(_peer_conf['RX_FREQ'])).find("bytes") != -1:
if _peer_conf['TX_FREQ'][:3] == b'000' or _peer_conf['RX_FREQ'][:3] == b'000':
_ctable_peer['TX_FREQ'] = 'N/A'
_ctable_peer['RX_FREQ'] = 'N/A'
@ -246,11 +246,27 @@ def add_hb_peer(_peer_conf, _ctable_loc, _peer):
_ctable_peer['SLOTS'] = 'Simplex'
# Simple translation items
_ctable_peer['SOFTWARE_ID'] = _peer_conf['SOFTWARE_ID'].decode('utf-8').strip()
_ctable_peer['PACKAGE_ID'] = _peer_conf['PACKAGE_ID'].decode('utf-8').strip()
if str(type(_peer_conf['PACKAGE_ID'])).find("bytes") != -1:
_ctable_peer['PACKAGE_ID'] = _peer_conf['PACKAGE_ID'].decode('utf-8')
else:
_ctable_peer['PACKAGE_ID'] = _peer_conf['PACKAGE_ID']
if str(type(_peer_conf['SOFTWARE_ID'])).find("bytes") != -1:
_ctable_peer['SOFTWARE_ID'] = _peer_conf['SOFTWARE_ID'].decode('utf-8')
else:
_ctable_peer['SOFTWARE_ID'] = _peer_conf['SOFTWARE_ID']
if str(type(_peer_conf['LOCATION'])).find("bytes") != -1:
_ctable_peer['LOCATION'] = _peer_conf['LOCATION'].decode('utf-8')
else:
_ctable_peer['LOCATION'] = _peer_conf['LOCATION']
if str(type(_peer_conf['CALLSIGN'])).find("bytes") != -1:
_ctable_peer['CALLSIGN'] = _peer_conf['CALLSIGN'].decode('utf-8')
else:
_ctable_peer['CALLSIGN'] = _peer_conf['CALLSIGN']
_ctable_peer['COLORCODE'] = _peer_conf['COLORCODE'].decode('utf-8')
_ctable_peer['CALLSIGN'] = _peer_conf['CALLSIGN'].decode('utf-8')
_ctable_peer['LOCATION'] = _peer_conf['LOCATION'].decode('utf-8')
_ctable_peer['CONNECTION'] = _peer_conf['CONNECTION']
_ctable_peer['CONNECTED'] = since(_peer_conf['CONNECTED'])
_ctable_peer['IP'] = _peer_conf['IP']