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 07:05:58 +01:00 committed by GitHub
parent 17271ba41e
commit 5830b9f100
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 22 additions and 6 deletions

View File

@ -222,7 +222,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'
@ -245,11 +245,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').strip()
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').strip()
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').strip()
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').strip()
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']
@ -802,7 +818,7 @@ if __name__ == '__main__':
logger = logging.getLogger(__name__)
logging.info('monitor.py starting up')
logger.info('\n\n\tCopyright (c) 2016, 2017, 2018, 2019\n\tThe Regents of the K0USY Group. All rights reserved.\n\n\tPython 3 port:\n\t2019 Steve Miller, KC1AWV <smiller@kc1awv.net>\n\n\tVersion by:\t SP2ONG 2019-2020\n\n')
logger.info('\n\n\tCopyright (c) 2016, 2017, 2018, 2019\n\tThe Regents of the K0USY Group. All rights reserved.\n\n\tPython 3 port:\n\t2019 Steve Miller, KC1AWV <smiller@kc1awv.net>\n\n\tVersion by:\t SP2ONG 2019-2021\n\n')
# Download alias files
result = try_download(PATH, PEER_FILE, PEER_URL, (FILE_RELOAD * 86400))