def save(self, *args, **kwargs): if not self.pk and self.user and self.reference: subscription = fastspring.getSubscription(self.reference) self.nextPeriodDate = subscription.nextPeriodDate self.status = subscription.status self.productName = subscription.productName self.quantity = subscription.quantity self.is_test = subscription.is_test logger.debug('New subscription: %s' % str(self)) return super(Subscription, self).save(*args, **kwargs)
def updateFromFastspring(self, fields=['nextPeriodDate', 'status', 'productName', 'quantity', 'is_test']): """ Update the DB entry with Fastspring data. @param fields: update only the specified fields, all if None """ subscription = fastspring.getSubscription(self.reference) for f in fields: setattr(self, f, getattr(subscription, f, None)) self.save() logger.debug('Subscription %s was updated' % self.reference) return self