fabfile.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:lyft-django-sample 作者: lyft 项目源码 文件源码
def invalidate():

    OFFBOARD_DAYS = 31

    from django.utils import timezone
    from django.contrib.auth.models import User
    from django.db.models import Q
    from social.apps.django_app.default.models import UserSocialAuth

    invalidate_delta = timezone.now() - timezone.timedelta(OFFBOARD_DAYS)
    print "Running invalidate process with date: %s" % (invalidate_delta)

    # has auth credentials (non-null)
    criteria = Q(extra_data__isnull=False)

    # also is past timeframe
    criteria = criteria & (Q(user__last_login__lte=invalidate_delta) | (Q(user__last_login__isnull=True) & Q(user__date_joined__lte=invalidate_delta)))

    users = UserSocialAuth.objects.filter(criteria)
    for u in users:

        try:
            u.extra_data = None
            u.save()
            print "\tInvalidate user %s (last_login=%s, date_joined=%s)" % (u.user, u.user.last_login, u.user.date_joined)
        except UserSocialAuth.DoesNotExist, e:
            # no record exists; no need to clear anything
            pass
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号