From 4d8e07f3937fd8cbd2047f00d72be96cf6053cfd Mon Sep 17 00:00:00 2001 From: gpkvt Date: Sat, 27 Aug 2022 22:07:35 +0200 Subject: [PATCH] Fixed too-long-lines --- tts.py | 237 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 183 insertions(+), 54 deletions(-) diff --git a/tts.py b/tts.py index b421466..53f70cb 100644 --- a/tts.py +++ b/tts.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 # -*- coding: utf-8 -*- -# pylint: disable=global-statement,broad-except,line-too-long,too-many-lines +# pylint: disable=global-statement,broad-except,too-many-lines """ TwitchTTS @@ -566,7 +566,7 @@ class IRC: try: token = CONF['IRC_OAUTH_TOKEN'].replace('oauth:','') login = CONF['IRC_CHANNEL'].replace('#','') - api_endpoint = "https://api.twitch.tv/helix/users?login="+str(login) + api_endpoint = f"https://api.twitch.tv/helix/users?login={login}" headers = { 'Content-type': 'application/x-form-urlencoded', 'Authorization': 'Bearer '+token, @@ -576,7 +576,7 @@ class IRC: data = req.json() user_id = data['data'][0]['id'] - api_endpoint = "https://api.twitch.tv/helix/channels?broadcaster_id="+str(user_id) + api_endpoint = f"https://api.twitch.tv/helix/channels?broadcaster_id={user_id}" headers = { 'Content-type': 'application/x-form-urlencoded', 'Authorization': 'Bearer '+token, @@ -595,7 +595,8 @@ class IRC: with open("quotes.txt", "ab") as file: file.write(quote.encode('utf-8')) - msg = f"{CONF['MESSAGE']['QUOTE_ADDED_PREFIX']} #{nol} {CONF['MESSAGE']['QUOTE_ADDED_SUFFIX']}" + msg = f"{CONF['MESSAGE']['QUOTE_ADDED_PREFIX']} \ + #{nol} {CONF['MESSAGE']['QUOTE_ADDED_SUFFIX']}" raw_msg = { "TTS": True, @@ -645,9 +646,11 @@ class IRC: msg_queue[raw_msg['timestamp']] = [raw_msg['user'], raw_msg['msg']] except wikipedia.exceptions.DisambiguationError: - IRC.sendmsg(self, CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['WIKI_TOO_MANY']) + user = f"@{user}" + IRC.sendmsg(self, CONF['IRC_CHANNEL'], user, CONF['MESSAGE']['WIKI_TOO_MANY']) except Exception: - IRC.sendmsg(self, CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['WIKI_NO_RESULT']) + user = f"@{user}" + IRC.sendmsg(self, CONF['IRC_CHANNEL'], user, CONF['MESSAGE']['WIKI_NO_RESULT']) def quote(self, tags, msg = False): """ !smartquote command @@ -818,7 +821,8 @@ class IRC: logging.info('Got more than the requested number of participants') else: picks = self.pickme - logging.info('Got less than or exactly the requested number of participants') + logging.info('Got less than or exactly the \ + requested number of participants') converted_picks = [str(element) for element in picks] joined_picks = " ".join(converted_picks) @@ -1111,11 +1115,18 @@ class HTTPserv(BaseHTTPRequestHandler): for key in list(sorted_tts.keys()): if key not in tts_done: if msg_queue[key][0].lower() in usermap: - logging.debug('Using usermap for user: %s (%s)', msg_queue[key][0], usermap[msg_queue[key][0].lower()]) - tts = {str(key): str(usermap[msg_queue[key][0].lower()]) + " " + str(CONF['MESSAGE']['SAYS']) + ":" + str(msg_queue[key][1])} + logging.debug('Using usermap for user: %s (%s)', + msg_queue[key][0], + usermap[msg_queue[key][0].lower()] + ) + user = usermap[msg_queue[key][0].lower()] + tts = {str(key): f"{user} {CONF['MESSAGE']['SAYS']}: {msg_queue[key][1]}"} else: logging.debug('No usermap entry found for user: %s', msg_queue[key][0]) - tts = {str(key): str(msg_queue[key][0]) + " " + str(CONF['MESSAGE']['SAYS']) + ":" + str(msg_queue[key][1])} + tts = { + str(key): + f"{msg_queue[key][0]} {CONF['MESSAGE']['SAYS']}: {msg_queue[key][1]}" + } tts_json = json.dumps(tts) self.wfile.write(bytes(str(tts_json)+"\n", "utf-8")) @@ -1150,7 +1161,12 @@ class HTTPserv(BaseHTTPRequestHandler): self.send_response(500) self.send_header('Content-type', 'text/plain') self.end_headers() - self.wfile.write(bytes("You can only use this function if HTTP_PORT is 80, 8080 or 3000. Please change your port, or use https://www.21x9.org/twitch instead.\n", "utf-8")) + self.wfile.write(bytes("You can only use this function \ + if HTTP_PORT is 80, 8080 or 3000. \ + Please change your port, or use \ + https://www.21x9.org/twitch instead.\n", + "utf-8") + ) return False try: @@ -1162,7 +1178,31 @@ class HTTPserv(BaseHTTPRequestHandler): self.send_response(200) self.send_header('Content-type', 'text/html') self.end_headers() - self.wfile.write(bytes("OAuth Token Generator
Click to start the OAuth process.
\n", "utf-8")) + self.wfile.write(bytes("\ + \ + OAuth Token Generator\ + \ + \ +
\ + \ + Click to start the OAuth process.\ + \ +
\ + \ + \ + \n", + "utf-8") + ) else: self.send_response(500) self.send_header('Content-type', 'text/plain') @@ -1192,56 +1232,130 @@ def load_config(): with open("config.yml", "r", encoding="UTF-8") as ymlfile: cfg = yaml.load(ymlfile, Loader=yaml.Loader) except FileNotFoundError: - logging.fatal('Your config file is missing, please copy config-dist.yml to config.yml and review your settings.') + logging.fatal('Your config file is missing, please copy config-dist.yml \ + to config.yml and review your settings.') sys.exit(253) for section in cfg: try: logging.debug('Fetching config: %s', section) - CONF['IRC_CHANNEL'] = cfg.get('irc', {}).get('channel', False) - CONF['IRC_USERNAME'] = cfg.get('irc', {}).get('username', False) - CONF['IRC_OAUTH_TOKEN'] = cfg.get('irc', {}).get('oauth_token', False) - CONF['IRC_SERVER'] = cfg.get('irc', {}).get('server', "irc.chat.twitch.tv") - CONF['IRC_CLEARMSG_TIMEOUT'] = cfg.get('irc', {}).get('clearmsg_timeout', 60) + CONF['IRC_CHANNEL'] = cfg.get('irc', {}).get( + 'channel', False + ) + CONF['IRC_USERNAME'] = cfg.get('irc', {}).get( + 'username', False + ) + CONF['IRC_OAUTH_TOKEN'] = cfg.get('irc', {}).get( + 'oauth_token', False + ) + CONF['IRC_SERVER'] = cfg.get('irc', {}).get( + 'server', "irc.chat.twitch.tv" + ) + CONF['IRC_CLEARMSG_TIMEOUT'] = cfg.get( + 'irc', {}).get('clearmsg_timeout', 60 + ) - CONF['IRC_SUBONLY'] = cfg.get('bot', {}).get('subonly', False) - CONF['IRC_MODONLY'] = cfg.get('bot', {}).get('modonly', False) - CONF['IRC_TTS_LEN'] = cfg.get('bot', {}).get('message_length', 200) - CONF['TTS_STARTENABLED'] = cfg.get('bot', {}).get('start_enabled', True) - CONF['WIKI_LANG'] = cfg.get('bot', {}).get('language', 'en') + CONF['IRC_SUBONLY'] = cfg.get('bot', {}).get( + 'subonly', False + ) + CONF['IRC_MODONLY'] = cfg.get('bot', {}).get( + 'modonly', False + ) + CONF['IRC_TTS_LEN'] = cfg.get('bot', {}).get( + 'message_length', 200 + ) + CONF['TTS_STARTENABLED'] = cfg.get('bot', {}).get( + 'start_enabled', True + ) + CONF['WIKI_LANG'] = cfg.get('bot', {}).get( + 'language', 'en' + ) - CONF['LOG_LEVEL'] = cfg.get('log', {}).get('level', "INFO") - CONF['HTTP_PORT'] = cfg.get('http', {}).get('port', 80) - CONF['HTTP_BIND'] = cfg.get('http', {}).get('bind', "localhost") + CONF['LOG_LEVEL'] = cfg.get('log', {}).get( + 'level', "INFO" + ) + CONF['HTTP_PORT'] = cfg.get('http', {}).get( + 'port', 80 + ) + CONF['HTTP_BIND'] = cfg.get('http', {}).get( + 'bind', "localhost" + ) CONF['MESSAGE'] = {} - CONF['MESSAGE']['TOFF'] = cfg.get('messages', {}).get('toff', "TTS is now disabled.") - CONF['MESSAGE']['TON'] = cfg.get('messages', {}).get('ton', "TTS is now active.") - CONF['MESSAGE']['TOO_LONG'] = cfg.get('messages', {}).get('too_long', "Sorry, your message is too long.") - CONF['MESSAGE']['DISABLED'] = cfg.get('messages', {}).get('disabled', "Sorry, TTS is disabled.") - CONF['MESSAGE']['DENIED'] = cfg.get('messages', {}).get('denied', "Sorry, you're not allowed to use TTS.") - CONF['MESSAGE']['SUBONLY'] = cfg.get('messages', {}).get('subonly', "Sorry, TTS is sub-only.") - CONF['MESSAGE']['MODONLY'] = cfg.get('messages', {}).get('modonly', "Sorry, TTS is mod-only.") - CONF['MESSAGE']['READY'] = cfg.get('messages', {}).get('ready', "TTS bot is ready.") - CONF['MESSAGE']['WHITELISTONLY'] = cfg.get('messages', {}).get('whitelist', False) - CONF['MESSAGE']['SAYS'] = cfg.get('messages', {}).get('says', "says") + CONF['MESSAGE']['TOFF'] = cfg.get('messages', {}).get( + 'toff', "TTS is now disabled." + ) + CONF['MESSAGE']['TON'] = cfg.get('messages', {}).get( + 'ton', "TTS is now active." + ) + CONF['MESSAGE']['TOO_LONG'] = cfg.get('messages', {}).get( + 'too_long', "Sorry, your message is too long." + ) + CONF['MESSAGE']['DISABLED'] = cfg.get('messages', {}).get( + 'disabled', "Sorry, TTS is disabled." + ) + CONF['MESSAGE']['DENIED'] = cfg.get('messages', {}).get( + 'denied', "Sorry, you're not allowed to use TTS." + ) + CONF['MESSAGE']['SUBONLY'] = cfg.get('messages', {}).get( + 'subonly', "Sorry, TTS is sub-only." + ) + CONF['MESSAGE']['MODONLY'] = cfg.get('messages', {}).get( + 'modonly', "Sorry, TTS is mod-only." + ) + CONF['MESSAGE']['READY'] = cfg.get('messages', {}).get( + 'ready', "TTS bot is ready." + ) + CONF['MESSAGE']['WHITELISTONLY'] = cfg.get('messages', {}).get( + 'whitelist', False + ) + CONF['MESSAGE']['SAYS'] = cfg.get('messages', {}).get( + 'says', "says" + ) - CONF['MESSAGE']['VOTESTART'] = cfg.get('messages', {}).get('votestart', "Quickvote started. Send #yourchoice to participate.") - CONF['MESSAGE']['VOTEEND'] = cfg.get('messages', {}).get('voteend', "Quickvote ended. The results are:") - CONF['MESSAGE']['VOTENOBODY'] = cfg.get('messages', {}).get('votenobody', "Nobody casted a vote. :(") - CONF['MESSAGE']['VOTERESULT'] = cfg.get('messages', {}).get('voteresult', "Voting has ended. The result is:") - CONF['MESSAGE']['VOTES'] = cfg.get('messages', {}).get('votes', "Votes") + CONF['MESSAGE']['VOTESTART'] = cfg.get('messages', {}).get( + 'votestart', "Quickvote started. Send #yourchoice to participate." + ) + CONF['MESSAGE']['VOTEEND'] = cfg.get('messages', {}).get( + 'voteend', "Quickvote ended. The results are:" + ) + CONF['MESSAGE']['VOTENOBODY'] = cfg.get('messages', {}).get( + 'votenobody', "Nobody casted a vote. :(" + ) + CONF['MESSAGE']['VOTERESULT'] = cfg.get('messages', {}).get( + 'voteresult', "Voting has ended. The result is:" + ) + CONF['MESSAGE']['VOTES'] = cfg.get('messages', {}).get( + 'votes', "Votes" + ) - CONF['MESSAGE']['PICKSTART'] = cfg.get('messages', {}).get('pickstart', "Pick started. Send #pickme to participate.") - CONF['MESSAGE']['PICKRESULT'] = cfg.get('messages', {}).get('pickresult', "Pick ended. The results are:") - CONF['MESSAGE']['PICKNONE'] = cfg.get('messages', {}).get('picknone', "Pick ended. Nobody was picked.") + CONF['MESSAGE']['PICKSTART'] = cfg.get('messages', {}).get( + 'pickstart', "Pick started. Send #pickme to participate." + ) + CONF['MESSAGE']['PICKRESULT'] = cfg.get('messages', {}).get( + 'pickresult', "Pick ended. The results are:" + ) + CONF['MESSAGE']['PICKNONE'] = cfg.get('messages', {}).get( + 'picknone', "Pick ended. Nobody was picked." + ) - CONF['MESSAGE']['QUOTE_NOT_FOUND'] = cfg.get('messages', {}).get('quotenotfound', "Sorry, no quote found.") - CONF['MESSAGE']['QUOTE_ADDED_PREFIX'] = cfg.get('messages', {}).get('quoteaddedprefix', "Quote:") - CONF['MESSAGE']['QUOTE_ADDED_SUFFIX'] = cfg.get('messages', {}).get('quoteaddedsuffix', "added.") + CONF['MESSAGE']['QUOTE_NOT_FOUND'] = cfg.get('messages', {}).get( + 'quotenotfound', "Sorry, no quote found." + ) + CONF['MESSAGE']['QUOTE_ADDED_PREFIX'] = cfg.get('messages', {}).get( + 'quoteaddedprefix', "Quote:" + ) + CONF['MESSAGE']['QUOTE_ADDED_SUFFIX'] = cfg.get('messages', {}).get( + 'quoteaddedsuffix', "added." + ) - CONF['MESSAGE']['WIKI_TOO_MANY'] = cfg.get('messages', {}).get('wiki_too_many', "Sorry, there are too many possible results. Try a more narrow search.") - CONF['MESSAGE']['WIKI_NO_RESULT'] = cfg.get('messages', {}).get('wiki_no_result', "Sorry, there was an error fetching the wikipedia answer.") + CONF['MESSAGE']['WIKI_TOO_MANY'] = cfg.get('messages', {}).get( + 'wiki_too_many', "Sorry, there are too many possible results. \ + Try a more narrow search." + ) + CONF['MESSAGE']['WIKI_NO_RESULT'] = cfg.get('messages', {}).get( + 'wiki_no_result', "Sorry, there was an error fetching the wikipedia answer." + ) CONF['FEATURE'] = {} CONF['FEATURE']['WIKI'] = cfg.get('features', {}).get('wiki', True) @@ -1325,11 +1439,13 @@ def check_oauth_token(): urllib.request.urlopen(request) except HTTPError: logging.fatal('Twitch rejected your OAuth Token. Please check and generate a new one.') - logging.info('Please open http://%s:%s/token to generate your OAuth-Token.', CONF['HTTP_BIND'], CONF['HTTP_PORT']) + logging.info('Please open http://%s:%s/token to generate your OAuth-Token.', + CONF['HTTP_BIND'], CONF['HTTP_PORT']) url = get_url("token") webbrowser.open_new_tab(url) - logging.info('Please complete the OAuth process and add the token into your "config.yml" within the next 5 minutes.') + logging.info('Please complete the OAuth process and add the token into your "config.yml" \ + within the next 5 minutes.') time.sleep(300) CONF = load_config() check_oauth_token() @@ -1358,7 +1474,13 @@ def main(): logging.info("Starting IRC bot") irc = IRC() - irc.connect(CONF['IRC_SERVER'], 6667, CONF['IRC_CHANNEL'], CONF['IRC_USERNAME'], CONF['IRC_OAUTH_TOKEN']) + irc.connect( + CONF['IRC_SERVER'], + 6667, + CONF['IRC_CHANNEL'], + CONF['IRC_USERNAME'], + CONF['IRC_OAUTH_TOKEN'] + ) irc.sendmsg(CONF['IRC_CHANNEL'], 'MrDestructoid', CONF['MESSAGE']['READY']) logging.info('Connected and joined') @@ -1380,7 +1502,11 @@ def main(): if irc.quickvote_status and irc.votemsg: logging.info('Quickvote is active') - irc.sendmsg(CONF['IRC_CHANNEL'], "@chat", CONF['MESSAGE']['VOTESTART'] + " (" + str(irc.votemsg) + ")") + irc.sendmsg( + CONF['IRC_CHANNEL'], + "@chat", + CONF['MESSAGE']['VOTESTART'] + " (" + str(irc.votemsg) + ")" + ) if not irc.tts_status: continue @@ -1394,7 +1520,10 @@ def main(): os.kill(os.getpid(), signal.SIGTERM) if __name__ == "__main__": - logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(module)s %(threadName)s %(levelname)s: %(message)s') + logging.basicConfig( + level=logging.DEBUG, + format='%(asctime)s %(module)s %(threadName)s %(levelname)s: %(message)s' + ) sys.tracebacklimit = 3 VERSION = "1.7.1"