mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-11-04 03:27:00 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			43 lines
		
	
	
		
			934 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			934 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import builtins
 | 
						|
import os
 | 
						|
import sys
 | 
						|
 | 
						|
import _sitebuiltins
 | 
						|
 | 
						|
USER_SITE = None
 | 
						|
 | 
						|
 | 
						|
def nuke_stdout():
 | 
						|
    # Redirect stdout, stdin and stderr to /dev/null
 | 
						|
    from calibre_extensions.speedup import detach
 | 
						|
    detach(os.devnull)
 | 
						|
 | 
						|
 | 
						|
def set_helper():
 | 
						|
    builtins.help = _sitebuiltins._Helper()
 | 
						|
 | 
						|
 | 
						|
def set_quit():
 | 
						|
    eof = 'Ctrl-D (i.e. EOF)'
 | 
						|
    builtins.quit = _sitebuiltins.Quitter('quit', eof)
 | 
						|
    builtins.exit = _sitebuiltins.Quitter('exit', eof)
 | 
						|
 | 
						|
 | 
						|
def main():
 | 
						|
    sys.argv[0] = sys.calibre_basename
 | 
						|
    set_helper()
 | 
						|
    set_quit()
 | 
						|
    mod = __import__(sys.calibre_module, fromlist=[1])
 | 
						|
    func = getattr(mod, sys.calibre_function)
 | 
						|
    if sys.gui_app and not (
 | 
						|
        sys.stdout.isatty() or sys.stderr.isatty() or sys.stdin.isatty()
 | 
						|
    ):
 | 
						|
        # this has to be done after calibre is imported and therefore
 | 
						|
        # calibre_extensions is available.
 | 
						|
        nuke_stdout()
 | 
						|
    return func()
 | 
						|
 | 
						|
 | 
						|
if __name__ == '__main__':
 | 
						|
    main()
 |