Files @ bcaa50066573
Branch filter:

Location: CopyleftConf/copyleftconf-website/pinaxcon/monkey_patch.py

Christopher Neugebauer
re-add finaid.htm
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