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') 
 |