You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					50 lines
				
				1.1 KiB
			
		
		
			
		
	
	
					50 lines
				
				1.1 KiB
			| 
								 
											6 years ago
										 
									 | 
							
								
							 | 
						||
| 
								 | 
							
								""" This file contains some helpers methods in both Python2 and 3 """
							 | 
						||
| 
								 | 
							
								import sys
							 | 
						||
| 
								 | 
							
								import re
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if sys.version < '3':
							 | 
						||
| 
								 | 
							
								    # Python2.x imports
							 | 
						||
| 
								 | 
							
								    import Queue
							 | 
						||
| 
								 | 
							
								    import codecs
							 | 
						||
| 
								 | 
							
								else:
							 | 
						||
| 
								 | 
							
								    # Python 3.x imports
							 | 
						||
| 
								 | 
							
								    import queue
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								def check_token(token):
							 | 
						||
| 
								 | 
							
								    """ Checks if the given token is a valid UUID."""
							 | 
						||
| 
								 | 
							
								    valid = re.compile(r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-"
							 | 
						||
| 
								 | 
							
								                       r"[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    return valid.match(token)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# We need to do some things different pending if its Python 2.x or 3.x
							 | 
						||
| 
								 | 
							
								if sys.version < '3':
							 | 
						||
| 
								 | 
							
								    def to_unicode(ch):
							 | 
						||
| 
								 | 
							
								        return codecs.unicode_escape_decode(ch)[0]
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def is_unicode(ch):
							 | 
						||
| 
								 | 
							
								        return isinstance(ch, unicode)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def create_unicode(ch):
							 | 
						||
| 
								 | 
							
								        try:
							 | 
						||
| 
								 | 
							
								            return unicode(ch, 'utf-8')
							 | 
						||
| 
								 | 
							
								        except UnicodeDecodeError as e:
							 | 
						||
| 
								 | 
							
								            return str(e)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def create_queue(max_size):
							 | 
						||
| 
								 | 
							
								        return Queue.Queue(max_size)
							 | 
						||
| 
								 | 
							
								else:
							 | 
						||
| 
								 | 
							
								    def to_unicode(ch):
							 | 
						||
| 
								 | 
							
								        return ch
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def is_unicode(ch):
							 | 
						||
| 
								 | 
							
								        return isinstance(ch, str)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def create_unicode(ch):
							 | 
						||
| 
								 | 
							
								        return str(ch)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    def create_queue(max_size):
							 | 
						||
| 
								 | 
							
								        return queue.Queue(max_size)
							 |