import datetime

from django.conf import settings
from django.utils import timezone

import braintree

braintree.Configuration.configure(braintree.Environment.Sandbox,
                                  merchant_id=settings.BRAINTREE_MERCHANT_ID,
                                  public_key=settings.BRAINTREE_PUBLIC_KEY,
                                  private_key=settings.BRAINTREE_PRIVATE_KEY)



from .signals import membership_dates_update


def check_membership_status(subscription_id):
	sub = braintree.Subscription.find(subscription_id)
	if sub.status == "Active":
		status = True
		next_billing_date = sub.next_billing_date
	else:
		status = False
		next_billing_date = None
	# checking in braintree
	return status, next_billing_date


def update_braintree_membership(user):
	user = user
	membership = user.membership
	now = timezone.now()
	subscription_id = user.usermerchantid.subscription_id
	if membership.date_end <= timezone.now() and subscription_id is not None:
		status, next_billing_date = check_membership_status(subscription_id)
		if status:
			small_time = datetime.time(0,0,0,1)
			datetime_obj = datetime.datetime.combine(next_billing_date, small_time)
			datetime_aware = timezone.make_aware(datetime_obj, timezone.get_current_timezone())
			membership_dates_update.send(membership, new_date_start=datetime_aware)
		else:
			membership.update_status()
	elif subscription_id is None:
		membership.update_status()
	else:
		pass









cb18a6c439a9153916fe5c8ad017154de1b2f96a
<mask token>


def check_membership_status(subscription_id):
    sub = braintree.Subscription.find(subscription_id)
    if sub.status == 'Active':
        status = True
        next_billing_date = sub.next_billing_date
    else:
        status = False
        next_billing_date = None
    return status, next_billing_date


<mask token>

<mask token>


def check_membership_status(subscription_id):
    sub = braintree.Subscription.find(subscription_id)
    if sub.status == 'Active':
        status = True
        next_billing_date = sub.next_billing_date
    else:
        status = False
        next_billing_date = None
    return status, next_billing_date


def update_braintree_membership(user):
    user = user
    membership = user.membership
    now = timezone.now()
    subscription_id = user.usermerchantid.subscription_id
    if membership.date_end <= timezone.now() and subscription_id is not None:
        status, next_billing_date = check_membership_status(subscription_id)
        if status:
            small_time = datetime.time(0, 0, 0, 1)
            datetime_obj = datetime.datetime.combine(next_billing_date,
                small_time)
            datetime_aware = timezone.make_aware(datetime_obj, timezone.
                get_current_timezone())
            membership_dates_update.send(membership, new_date_start=
                datetime_aware)
        else:
            membership.update_status()
    elif subscription_id is None:
        membership.update_status()
    else:
        pass

<mask token>
braintree.Configuration.configure(braintree.Environment.Sandbox,
    merchant_id=settings.BRAINTREE_MERCHANT_ID, public_key=settings.
    BRAINTREE_PUBLIC_KEY, private_key=settings.BRAINTREE_PRIVATE_KEY)
<mask token>


def check_membership_status(subscription_id):
    sub = braintree.Subscription.find(subscription_id)
    if sub.status == 'Active':
        status = True
        next_billing_date = sub.next_billing_date
    else:
        status = False
        next_billing_date = None
    return status, next_billing_date


def update_braintree_membership(user):
    user = user
    membership = user.membership
    now = timezone.now()
    subscription_id = user.usermerchantid.subscription_id
    if membership.date_end <= timezone.now() and subscription_id is not None:
        status, next_billing_date = check_membership_status(subscription_id)
        if status:
            small_time = datetime.time(0, 0, 0, 1)
            datetime_obj = datetime.datetime.combine(next_billing_date,
                small_time)
            datetime_aware = timezone.make_aware(datetime_obj, timezone.
                get_current_timezone())
            membership_dates_update.send(membership, new_date_start=
                datetime_aware)
        else:
            membership.update_status()
    elif subscription_id is None:
        membership.update_status()
    else:
        pass

import datetime
from django.conf import settings
from django.utils import timezone
import braintree
braintree.Configuration.configure(braintree.Environment.Sandbox,
    merchant_id=settings.BRAINTREE_MERCHANT_ID, public_key=settings.
    BRAINTREE_PUBLIC_KEY, private_key=settings.BRAINTREE_PRIVATE_KEY)
from .signals import membership_dates_update


def check_membership_status(subscription_id):
    sub = braintree.Subscription.find(subscription_id)
    if sub.status == 'Active':
        status = True
        next_billing_date = sub.next_billing_date
    else:
        status = False
        next_billing_date = None
    return status, next_billing_date


def update_braintree_membership(user):
    user = user
    membership = user.membership
    now = timezone.now()
    subscription_id = user.usermerchantid.subscription_id
    if membership.date_end <= timezone.now() and subscription_id is not None:
        status, next_billing_date = check_membership_status(subscription_id)
        if status:
            small_time = datetime.time(0, 0, 0, 1)
            datetime_obj = datetime.datetime.combine(next_billing_date,
                small_time)
            datetime_aware = timezone.make_aware(datetime_obj, timezone.
                get_current_timezone())
            membership_dates_update.send(membership, new_date_start=
                datetime_aware)
        else:
            membership.update_status()
    elif subscription_id is None:
        membership.update_status()
    else:
        pass

import datetime

from django.conf import settings
from django.utils import timezone

import braintree

braintree.Configuration.configure(braintree.Environment.Sandbox,
                                  merchant_id=settings.BRAINTREE_MERCHANT_ID,
                                  public_key=settings.BRAINTREE_PUBLIC_KEY,
                                  private_key=settings.BRAINTREE_PRIVATE_KEY)



from .signals import membership_dates_update


def check_membership_status(subscription_id):
	sub = braintree.Subscription.find(subscription_id)
	if sub.status == "Active":
		status = True
		next_billing_date = sub.next_billing_date
	else:
		status = False
		next_billing_date = None
	# checking in braintree
	return status, next_billing_date


def update_braintree_membership(user):
	user = user
	membership = user.membership
	now = timezone.now()
	subscription_id = user.usermerchantid.subscription_id
	if membership.date_end <= timezone.now() and subscription_id is not None:
		status, next_billing_date = check_membership_status(subscription_id)
		if status:
			small_time = datetime.time(0,0,0,1)
			datetime_obj = datetime.datetime.combine(next_billing_date, small_time)
			datetime_aware = timezone.make_aware(datetime_obj, timezone.get_current_timezone())
			membership_dates_update.send(membership, new_date_start=datetime_aware)
		else:
			membership.update_status()
	elif subscription_id is None:
		membership.update_status()
	else:
		pass








