25 lines
		
	
	
		
			815 B
		
	
	
	
		
			Python
		
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			815 B
		
	
	
	
		
			Python
		
	
	
	
import py 
 | 
						|
import __builtin__ as cpy_builtin
 | 
						|
 | 
						|
def invoke(assertion=False, compile=False):
 | 
						|
    """ invoke magic, currently you can specify:
 | 
						|
 | 
						|
        assertion  patches the builtin AssertionError to try to give
 | 
						|
                   more meaningful AssertionErrors, which by means
 | 
						|
                   of deploying a mini-interpreter constructs
 | 
						|
                   a useful error message.
 | 
						|
    """
 | 
						|
    if assertion:
 | 
						|
        from py.__.magic import assertion
 | 
						|
        assertion.invoke()
 | 
						|
    if compile: 
 | 
						|
        py.magic.patch(cpy_builtin, 'compile', py.code.compile )
 | 
						|
 | 
						|
def revoke(assertion=False, compile=False):
 | 
						|
    """ revoke previously invoked magic (see invoke())."""
 | 
						|
    if assertion:
 | 
						|
        from py.__.magic import assertion
 | 
						|
        assertion.revoke()
 | 
						|
    if compile: 
 | 
						|
        py.magic.revert(cpy_builtin, 'compile') 
 |