def updateUserProvisions(self, subscriber_id): userprovisions = UserProvisions.gql("WHERE user_id = :user_id", user_id=subscriber_id) if userprovisions.count() != 1: logging.error( 'User not provisioned but has created subscription?! Provisioning now...' ) userprovision = UserProvisions() userprovision.user_id = subscriber_id userprovision.who = users.get_current_user() userprovision.save_enabled = True userprovision.report_enabled = True userprovision.provisioned_for = ['WEB'] #default 15 days validity userprovision.valid_until = datetime.combine( date.today(), anothertime()) + timedelta(days=15) #return False, '', 'Could not update subscription data. Please contact customer support.' else: userprovision = userprovisions.get() subscription_valid = True subscription_valid_until = userprovision.valid_until subscriber_details = spreedlyinterface.subscriber_details( subscriber_id) logging.debug('Fetched Subscriber details %s' % str(subscriber_details)) if subscriber_details and subscriber_details[ 'customer-id'] == subscriber_id: logging.debug('updating tripfiles userprovisions...') valid_until_str = subscriber_details[ 'active-until'] if subscriber_details.has_key( 'active-until') else None if valid_until_str: valid_until = datetime.strptime( valid_until_str, '%Y-%m-%dT%H:%M:%SZ') #u'2010-11-22T16:45:13Z', userprovision.valid_until = valid_until subscription_valid = True if subscriber_details.has_key( 'active') and subscriber_details['active'] == 'true' else False notification_msg = 'Subscription active' if subscription_valid else 'Subscription inactive' userprovision.save_enabled = subscription_valid userprovision.report_enabled = subscription_valid userprovision.subscription_token = subscriber_details[ 'token'] if subscriber_details.has_key('token') else None userprovision.subscription_code = subscriber_details[ 'feature-level'] if subscriber_details.has_key( 'feature-level') else None userprovision.save() return notification_msg
def updateUserProvisions(self, subscriber_id): userprovisions = UserProvisions.gql("WHERE user_id = :user_id",user_id=subscriber_id) if userprovisions.count()!=1: logging.error('User not provisioned but has created subscription?! Provisioning now...') userprovision = UserProvisions() userprovision.user_id = subscriber_id userprovision.who = users.get_current_user() userprovision.save_enabled = True userprovision.report_enabled = True userprovision.provisioned_for = ['WEB'] #default 15 days validity userprovision.valid_until = datetime.combine(date.today(), anothertime()) + timedelta(days=15) #return False, '', 'Could not update subscription data. Please contact customer support.' else: userprovision = userprovisions.get() subscription_valid=True subscription_valid_until=userprovision.valid_until subscriber_details = spreedlyinterface.subscriber_details(subscriber_id) logging.debug('Fetched Subscriber details %s' % str(subscriber_details)) if subscriber_details and subscriber_details['customer-id']==subscriber_id: logging.debug('updating tripfiles userprovisions...') valid_until_str = subscriber_details['active-until'] if subscriber_details.has_key('active-until') else None if valid_until_str: valid_until = datetime.strptime(valid_until_str, '%Y-%m-%dT%H:%M:%SZ') #u'2010-11-22T16:45:13Z', userprovision.valid_until = valid_until subscription_valid = True if subscriber_details.has_key('active') and subscriber_details['active']=='true' else False notification_msg = 'Subscription active' if subscription_valid else 'Subscription inactive' userprovision.save_enabled = subscription_valid userprovision.report_enabled = subscription_valid userprovision.subscription_token = subscriber_details['token'] if subscriber_details.has_key('token') else None userprovision.subscription_code = subscriber_details['feature-level'] if subscriber_details.has_key('feature-level') else None userprovision.save() return notification_msg