From 33bd2e1760fb33112b33c7a3d31efcd2881efd60 Mon Sep 17 00:00:00 2001 From: PCoder Date: Sat, 7 Jul 2018 02:15:38 +0200 Subject: [PATCH] Improve import_usercarddetails management command --- .../commands/import_usercarddetails.py | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/hosting/management/commands/import_usercarddetails.py b/hosting/management/commands/import_usercarddetails.py index fa5b975e..de5a91f9 100644 --- a/hosting/management/commands/import_usercarddetails.py +++ b/hosting/management/commands/import_usercarddetails.py @@ -12,28 +12,34 @@ class Command(BaseCommand): def handle(self, *args, **options): try: stripe_utils = StripeUtils() - for user in CustomUser.objects.filter(id__gte=114): - if user.stripecustomer: - card_details_resp = stripe_utils.get_card_details( - user.stripecustomer.stripe_id - ) - card_details = card_details_resp['response_object'] - if card_details: - ucd = UserCardDetail.get_or_create_user_card_detail( - stripe_customer=user.stripecustomer, - card_details=card_details + for user in CustomUser.objects.all(): + if hasattr(user, 'stripecustomer'): + if user.stripecustomer: + card_details_resp = stripe_utils.get_card_details( + user.stripecustomer.stripe_id ) - UserCardDetail.save_default_card_local( - user.stripecustomer.stripe_id, - ucd.card_id - ) - print("Saved user card details for {}".format( - user.email - )) - else: - print(" --- Could not get card details for {}".format( - user.email - )) - print("Error: {}".format(card_details_resp['error'])) + card_details = card_details_resp['response_object'] + if card_details: + ucd = UserCardDetail.get_or_create_user_card_detail( + stripe_customer=user.stripecustomer, + card_details=card_details + ) + UserCardDetail.save_default_card_local( + user.stripecustomer.stripe_id, + ucd.card_id + ) + print("Saved user card details for {}".format( + user.email + )) + else: + print(" --- Could not get card details for " + "{}".format(user.email)) + print(" --- Error: {}".format( + card_details_resp['error'] + )) + else: + print(" === {} does not have a StripeCustomer object".format( + user.email + )) except Exception as e: - print("Error occurred. Details {}".format(str(e))) + print(" *** Error occurred. Details {}".format(str(e)))