mirror of
				https://gitlab.com/gpvkt/twitchtts.git
				synced 2025-10-31 00:57:35 +01:00 
			
		
		
		
	Added/Improved docstrings
This commit is contained in:
		
							parent
							
								
									1cf77afbcc
								
							
						
					
					
						commit
						41a7269855
					
				
					 1 changed files with 75 additions and 28 deletions
				
			
		
							
								
								
									
										103
									
								
								tts.py
									
										
									
									
									
								
							
							
						
						
									
										103
									
								
								tts.py
									
										
									
									
									
								
							|  | @ -131,7 +131,10 @@ class IRC: | |||
|                 sys.exit(251) | ||||
| 
 | ||||
|     def resp_clearmsg(self, resp): | ||||
|         """ Respond to CLEARMSG """ | ||||
|         """ Respond to CLEARMSG | ||||
| 
 | ||||
|             :param str resp: IRC Server message | ||||
|         """ | ||||
|         logging.info('CLEARMSG received') | ||||
|         msgid = False | ||||
| 
 | ||||
|  | @ -154,7 +157,10 @@ class IRC: | |||
|                 MSG_QUEUE_RAW = filtered_msg_queue | ||||
| 
 | ||||
|     def resp_privmsg(self, resp): | ||||
|         """ Respond to PRIVMSG """ | ||||
|         """ Respond to PRIVMSG | ||||
| 
 | ||||
|             :param str resp: IRC Server message | ||||
|         """ | ||||
|         logging.debug('PRIVMSG received') | ||||
| 
 | ||||
|         tags = self.get_tags(resp) | ||||
|  | @ -207,7 +213,12 @@ class IRC: | |||
|                 return | ||||
| 
 | ||||
|     def get_tags(self, resp): | ||||
|         """ Strip tags from response """ | ||||
|         """ Strip tags from response | ||||
| 
 | ||||
|             :param str resp: IRC Server message | ||||
| 
 | ||||
|             :return dict tags: Message metadata (tags) | ||||
|         """ | ||||
| 
 | ||||
|         tags = resp.split(';') | ||||
|         for tag in tags: | ||||
|  | @ -232,7 +243,12 @@ class IRC: | |||
|         return tags | ||||
| 
 | ||||
|     def get_message(self, resp): | ||||
|         """ Process message """ | ||||
|         """ Transform IRC server message and determine length | ||||
| 
 | ||||
|             :param str resp: IRC Server message | ||||
| 
 | ||||
|             :return dict msg: Processed message | ||||
|         """ | ||||
| 
 | ||||
|         msg = {} | ||||
|         msg['message'] = resp.rsplit('PRIVMSG #',1)[1].split(':',1)[1].replace('\r\n','') | ||||
|  | @ -241,7 +257,11 @@ class IRC: | |||
|         return msg | ||||
| 
 | ||||
|     def priviledged_commands(self, message, tags): | ||||
|         """ Process priviledged commands """ | ||||
|         """ Process priviledged commands | ||||
| 
 | ||||
|             :param dict message: Message | ||||
|             :param dict tags: Message metadata (tags) | ||||
|         """ | ||||
| 
 | ||||
|         msg = message['message'] | ||||
|         badges = tags['badges'] | ||||
|  | @ -299,7 +319,12 @@ class IRC: | |||
|                 self.sendmsg(CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['TON']) | ||||
| 
 | ||||
|     def check_subonly(self, tags): | ||||
|         """ subonly """ | ||||
|         """ Check if subonly mode is enabled and sender is sub | ||||
| 
 | ||||
|             :param dict tags: Message metadata (tags) | ||||
| 
 | ||||
|             :return bool: | ||||
|         """ | ||||
| 
 | ||||
|         if not CONF['IRC_SUBONLY']: | ||||
|             return False | ||||
|  | @ -317,7 +342,12 @@ class IRC: | |||
|         return True | ||||
| 
 | ||||
|     def check_modonly(self, tags): | ||||
|         """ modonly """ | ||||
|         """ Check if modonly mode is enabled and sender is mod | ||||
| 
 | ||||
|             :param dict tags: Message metadata (tags) | ||||
| 
 | ||||
|             :return bool: | ||||
|         """ | ||||
| 
 | ||||
|         if not CONF['IRC_MODONLY']: | ||||
|             return False | ||||
|  | @ -334,7 +364,12 @@ class IRC: | |||
|         return True | ||||
| 
 | ||||
|     def check_tts_disabled(self, user): | ||||
|         """ Check if TTS is disabled """ | ||||
|         """ Check if TTS is disabled | ||||
| 
 | ||||
|             :param str user: Username | ||||
| 
 | ||||
|             :return bool: | ||||
|         """ | ||||
|         if not self.tts_status: | ||||
|             self.sendmsg(CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['DISABLED']) | ||||
|             return True | ||||
|  | @ -343,7 +378,13 @@ class IRC: | |||
|         return False | ||||
| 
 | ||||
|     def check_msg_too_long(self, message, user): | ||||
|         """ Check if message is too long """ | ||||
|         """ Check if message is too long | ||||
| 
 | ||||
|             :param dict message: Message | ||||
|             :param str user: Username | ||||
| 
 | ||||
|             :return bool: | ||||
|         """ | ||||
| 
 | ||||
|         if message['length'] > CONF['IRC_TTS_LEN']: | ||||
|             self.sendmsg(CONF['IRC_CHANNEL'], "@"+str(user), CONF['MESSAGE']['TOO_LONG']) | ||||
|  | @ -358,6 +399,8 @@ class IRC: | |||
|             Check if the given user is on the TTS blacklist | ||||
| 
 | ||||
|             :param str user: Username | ||||
| 
 | ||||
|             :return bool: | ||||
|         """ | ||||
| 
 | ||||
|         if user in self.tts_denied: | ||||
|  | @ -374,6 +417,8 @@ class IRC: | |||
|             Checks if the given user is on the TTS whitelist | ||||
| 
 | ||||
|             :param str user: Username | ||||
| 
 | ||||
|             :return bool: | ||||
|         """ | ||||
| 
 | ||||
|         if CONF['WHITELIST']: | ||||
|  | @ -423,11 +468,10 @@ class IRC: | |||
|         MSG_QUEUE_RAW.append(msg) | ||||
| 
 | ||||
|     def get_response(self): | ||||
|         """Get and process response from IRC""" | ||||
|         """ Get and process response from IRC """ | ||||
|         try: | ||||
|             resp = self.irc.recv(2048).decode("UTF-8") | ||||
|             logging.debug('resp:') | ||||
|             logging.debug(resp) | ||||
|             logging.debug('resp: %s', resp) | ||||
|         except socket.timeout: | ||||
|             return | ||||
|         except Exception: | ||||
|  | @ -731,7 +775,7 @@ class IRC: | |||
|         def usermap(self, msg): | ||||
|             """ !usermap command | ||||
| 
 | ||||
|                 Adds new entries to usermapping in config.yml | ||||
|                 Adds a new entry to usermapping in config.yml | ||||
| 
 | ||||
|                 :param str msg: The IRC message triggering the command | ||||
|             """ | ||||
|  | @ -756,7 +800,13 @@ class IRC: | |||
|                         load_config() | ||||
| 
 | ||||
|         def pick(self, msg): | ||||
|             """ !pick command """ | ||||
|             """ !pick command | ||||
| 
 | ||||
|                 Pick a number of users who typed #pickme in the chat | ||||
|                 after the pick command was started. | ||||
| 
 | ||||
|                 :param str msg: Number of users to pick | ||||
|             """ | ||||
| 
 | ||||
|             if self.pick_status: | ||||
|                 logging.info('Pick stopped') | ||||
|  | @ -918,9 +968,8 @@ class IRC: | |||
|                 If no file is given in msg a standard file will be used | ||||
| 
 | ||||
|                 :param str msg: The IRC message triggering the command | ||||
|                 :raise: FileNotFoundError if randomfile does not exists | ||||
|                 :return: True if line was successfully read and added to msg_queue | ||||
|                 :rtype: bool | ||||
| 
 | ||||
|                 :return bool: | ||||
|             """ | ||||
| 
 | ||||
|             randomfile = msg.replace('!random', '').strip().lower() | ||||
|  | @ -974,8 +1023,6 @@ class IRC: | |||
|                 logging.info("Removing %s from deny list", user) | ||||
|                 self.tts_denied.remove(user) | ||||
| 
 | ||||
|             return | ||||
| 
 | ||||
|         def dtts(self, msg): | ||||
|             """ !dtts command | ||||
| 
 | ||||
|  | @ -998,20 +1045,18 @@ class IRC: | |||
|                 logging.info("Removing %s from allowed list", user) | ||||
|                 self.tts_allowed.remove(user) | ||||
| 
 | ||||
|             return | ||||
| 
 | ||||
| class ThreadingSimpleServer(ThreadingMixIn, HTTPServer): | ||||
|     """ Threaded HTTP Server """ | ||||
| 
 | ||||
| class HTTPserv(BaseHTTPRequestHandler): | ||||
|     """Simple HTTP Server""" | ||||
|     """ Simple HTTP Server """ | ||||
| 
 | ||||
|     def log_message(self, format, *args): # pylint: disable=redefined-builtin | ||||
|         """Suppress HTTP log messages""" | ||||
|         """ Suppress HTTP log messages """ | ||||
|         return | ||||
| 
 | ||||
|     def do_GET(self): # pylint: disable=invalid-name | ||||
|         """Process GET requests""" | ||||
|         """ Process GET requests """ | ||||
|         if self.path == '/': | ||||
|             self.send_response(200) | ||||
|             self.send_header('Content-type', 'text/html') | ||||
|  | @ -1132,14 +1177,14 @@ class HTTPserv(BaseHTTPRequestHandler): | |||
|             self.end_headers() | ||||
|             self.wfile.write(bytes("File not found.\n", "utf-8")) | ||||
| 
 | ||||
|         return | ||||
|         return True | ||||
| 
 | ||||
| def http_serve_forever(httpd): | ||||
|     """httpd loop""" | ||||
|     """ httpd loop """ | ||||
|     httpd.serve_forever() | ||||
| 
 | ||||
| def load_config(): | ||||
|     """Loading config variables""" | ||||
|     """ Loading config variables """ | ||||
| 
 | ||||
|     logging.info("Loading configfile") | ||||
| 
 | ||||
|  | @ -1253,6 +1298,7 @@ def send_tts_queue(): | |||
| 
 | ||||
| def get_url(path=False): | ||||
|     """ Generate a valid URL from config values """ | ||||
| 
 | ||||
|     if CONF['HTTP_BIND'] == "0.0.0.0": | ||||
|         url = "localhost" | ||||
|     else: | ||||
|  | @ -1267,6 +1313,7 @@ def get_url(path=False): | |||
| 
 | ||||
| def check_oauth_token(): | ||||
|     """ Check for valid authentication via Twitch API """ | ||||
| 
 | ||||
|     global CONF | ||||
|     logging.debug('Checking OAuth Token') | ||||
| 
 | ||||
|  | @ -1291,7 +1338,7 @@ def check_oauth_token(): | |||
|     return CONF | ||||
| 
 | ||||
| def main(): | ||||
|     """Main loop""" | ||||
|     """ Main loop """ | ||||
| 
 | ||||
|     global CONF | ||||
|     CONF = load_config() | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue