monkey_patches sync_card
This commit is contained in:
		
							parent
							
								
									f1262837b4
								
							
						
					
					
						commit
						4a67271b94
					
				
					 2 changed files with 33 additions and 0 deletions
				
			
		
							
								
								
									
										32
									
								
								pinaxcon/monkey_patch.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								pinaxcon/monkey_patch.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,32 @@ | |||
| from django.conf import settings | ||||
| from django.core.mail import EmailMultiAlternatives | ||||
| from functools import wraps | ||||
| 
 | ||||
| 
 | ||||
| class MonkeyPatchMiddleware(object): | ||||
|     ''' Ensures that our monkey patching only gets called after it is safe to do so.''' | ||||
| 
 | ||||
|     def process_request(self, request): | ||||
|         do_monkey_patch() | ||||
| 
 | ||||
| 
 | ||||
| def do_monkey_patch(): | ||||
|     patch_stripe_card_defaults() | ||||
| 
 | ||||
|     # Remove this function from existence | ||||
|     global do_monkey_patch | ||||
|     do_monkey_patch = lambda: None | ||||
| 
 | ||||
| 
 | ||||
| def patch_stripe_card_defaults(): | ||||
|     from pinax.stripe.actions import sources | ||||
|     from collections import defaultdict | ||||
| 
 | ||||
|     old_sync_card = sources.sync_card | ||||
| 
 | ||||
|     def sync_card(customer, source): | ||||
|         d = defaultdict(str) | ||||
|         d.update(source) | ||||
|         return old_sync_card(customer, d) | ||||
| 
 | ||||
|     sources.sync_card = sync_card | ||||
|  | @ -149,6 +149,7 @@ MIDDLEWARE_CLASSES = [ | |||
|     "ssl_redirect.middleware.SSLRedirectMiddleware", | ||||
|     "pinaxcon.middleware.CanonicalHostMiddleware", | ||||
|     "pinaxcon.middleware.UnprependWWWMiddleware", | ||||
|     "pinaxcon.monkey_patch.MonkeyPatchMiddleware", | ||||
| ] | ||||
| 
 | ||||
| ROOT_URLCONF = "pinaxcon.urls" | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer