Fix message shortening

This commit is contained in:
elpatron68 2019-07-28 15:29:56 +02:00
parent 715e27cc43
commit 83c458261c

View File

@ -387,31 +387,37 @@ class MumbleBot:
genre = s['genre'] genre = s['genre']
# msg += f'<tr><td>{stationid}</td><td>{stationname}</td><td>{genre}</td><td>{codec}/{bitrate}</td><td>{country}</td></tr>' # msg += f'<tr><td>{stationid}</td><td>{stationname}</td><td>{genre}</td><td>{codec}/{bitrate}</td><td>{country}</td></tr>'
msg += '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s/%s</td><td>%s</td></tr>' % (stationid, stationname, genre, codec, bitrate, country) msg += '<tr><td>%s</td><td>%s</td><td>%s</td><td>%s/%s</td><td>%s</td></tr>' % (stationid, stationname, genre, codec, bitrate, country)
msg += '</table>' msg += '</table>'
# Shorten table if message too long # Full message as html table
if len(msg) <= 5000: if len(msg) <= 5000:
logging.debug('Result too long stage I')
msg = var.config.get('strings', 'rbqueryresult') + " :" + ' (shortened L1)'
msg += '\n<table><tr><th>!rbplay ID</th><th>Station Name</th></tr>'
for s in rb_stations:
stationid = s['id']
stationname = s['stationname']
# msg += f'<tr><td>{stationid}</td><td>{stationname}</td>'
msg += '<tr><td>%s</td><td>%s</td>' % (stationid, stationname)
self.send_msg(msg, text) self.send_msg(msg, text)
else: # Shorten message if message too long (stage I)
logging.debug('Result too long stage II') else:
msg = var.config.get('strings', 'rbqueryresult') + " :" + ' (shortened L2)' logging.debug('Result too long stage I')
msg += '!rbplay ID - Station Name' msg = var.config.get('strings', 'rbqueryresult') + " :" + ' (shortened L1)'
for s in rb_stations: msg += '\n<table><tr><th>!rbplay ID</th><th>Station Name</th></tr>'
stationid = s['id'] for s in rb_stations:
stationname = s['stationname'][:12] stationid = s['id']
# msg += f'{stationid} - {stationname}' stationname = s['stationname']
msg += '%s - %s' % (stationid, stationname) # msg += f'<tr><td>{stationid}</td><td>{stationname}</td>'
if len(msg) <= 5000: msg += '<tr><td>%s</td><td>%s</td>' % (stationid, stationname)
self.send_msg(msg, text) if len(msg) <= 5000:
else: self.send_msg(msg, text)
self.send_msg('Query result too long to post (> 5000 characters), please try another query.', text) # Shorten message if message too long (stage II)
else:
logging.debug('Result too long stage II')
msg = var.config.get('strings', 'rbqueryresult') + " :" + ' (shortened L2)'
msg += '!rbplay ID - Station Name'
for s in rb_stations:
stationid = s['id']
stationname = s['stationname'][:12]
# msg += f'{stationid} - {stationname}'
msg += '%s - %s' % (stationid, stationname)
if len(msg) <= 5000:
self.send_msg(msg, text)
# Message still too long
else:
self.send_msg('Query result too long to post (> 5000 characters), please try another query.', text)
# Play a secific station (by id) from http://www.radio-browser.info API # Play a secific station (by id) from http://www.radio-browser.info API
elif command == var.config.get('command', 'rb_play'): elif command == var.config.get('command', 'rb_play'):
logging.debug('Play a station by ID') logging.debug('Play a station by ID')