mirror of
				https://github.com/sqlmapproject/sqlmap.git
				synced 2025-10-25 05:01:32 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import atexit
 | |
| import sys
 | |
| 
 | |
| from .ansitowin32 import AnsiToWin32
 | |
| 
 | |
| 
 | |
| orig_stdout = sys.stdout
 | |
| orig_stderr = sys.stderr
 | |
| 
 | |
| wrapped_stdout = sys.stdout
 | |
| wrapped_stderr = sys.stderr
 | |
| 
 | |
| atexit_done = False
 | |
| 
 | |
| 
 | |
| def reset_all():
 | |
|     AnsiToWin32(orig_stdout).reset_all()
 | |
| 
 | |
| 
 | |
| def init(autoreset=False, convert=None, strip=None, wrap=True):
 | |
| 
 | |
|     if not wrap and any([autoreset, convert, strip]):
 | |
|         raise ValueError('wrap=False conflicts with any other arg=True')
 | |
| 
 | |
|     global wrapped_stdout, wrapped_stderr
 | |
|     sys.stdout = wrapped_stdout = \
 | |
|         wrap_stream(orig_stdout, convert, strip, autoreset, wrap)
 | |
|     sys.stderr = wrapped_stderr = \
 | |
|         wrap_stream(orig_stderr, convert, strip, autoreset, wrap)
 | |
| 
 | |
|     global atexit_done
 | |
|     if not atexit_done:
 | |
|         atexit.register(reset_all)
 | |
|         atexit_done = True
 | |
| 
 | |
| 
 | |
| def deinit():
 | |
|     sys.stdout = orig_stdout
 | |
|     sys.stderr = orig_stderr
 | |
| 
 | |
| 
 | |
| def reinit():
 | |
|     sys.stdout = wrapped_stdout
 | |
|     sys.stderr = wrapped_stdout
 | |
| 
 | |
| 
 | |
| def wrap_stream(stream, convert, strip, autoreset, wrap):
 | |
|     if wrap:
 | |
|         wrapper = AnsiToWin32(stream,
 | |
|             convert=convert, strip=strip, autoreset=autoreset)
 | |
|         if wrapper.should_wrap():
 | |
|             stream = wrapper.stream
 | |
|     return stream
 | |
| 
 | |
| 
 |