Beispiel #1
0
    def status_init(self):
        from eve.views import get_account_status
        from django.utils.timezone import utc

        account_status = get_account_status(self.key_id, self.v_code)
        self.account_status.create(
            account=self,
            create_date=datetime.datetime.fromtimestamp(account_status.createDate, utc),
            paid_until=datetime.datetime.fromtimestamp(account_status.paidUntil, utc),
        )
        self.account_status_tracker.create(
            account=self, logon_count=int(account_status.logonCount), logon_minutes=int(account_status.logonMinutes)
        )
Beispiel #2
0
    def status_update(self):
        from eve.views import get_account_status
        from django.utils.timezone import utc

        account_status = get_account_status(self.key_id, self.v_code)
        status = self.account_status.get()
        status.paid_until = datetime.datetime.fromtimestamp(account_status.paidUntil, utc)
        status.save()
        latest_logon = self.account_status_tracker.latest().logon_count
        if not latest_logon == account_status.logonCount:
            self.account_status_tracker.create(
                account=self, logon_count=account_status.logonCount, logon_minutes=account_status.logonMinutes
            )
Beispiel #3
0
    def handle_noargs(self, **options):
        from users.models import Account, AccountStatus, AccountStatusTracker
        from eve.views import get_account_status
        from datetime import datetime
        from django.utils.timezone import utc

        for account in Account.objects.all():
            status = get_account_status(account.key_id, account.v_code)
            if status:
                current, response = account.account_status.get_or_create()
                current.create_date = datetime.utcfromtimestamp(status.createDate).replace(tzinfo=utc)
                current.paid_until = datetime.utcfromtimestamp(status.paidUntil).replace(tzinfo=utc)
                current.save()
                AccountStatusTracker.objects.get_or_create(
                    account=account,
                    logon_count=status.logonCount,
                    logon_minutes=status.logonMinutes
                )