Fixes issues experienced during the eve upgrade.

Accounts marked as "Other Error" were killed when really they should be
ignored for the moment. I've added further checking on the eve_api
import that ingores down errors (900 and above) and the access checker
to ignore accounts with a status of 3.
This commit is contained in:
2010-05-26 09:22:51 +01:00
parent 8f55a71292
commit 19458e9234
2 changed files with 8 additions and 1 deletions

View File

@@ -55,6 +55,11 @@ def import_eve_account(api_key, user_id):
return return
error = enode[0].getAttribute('code') error = enode[0].getAttribute('code')
if int(error) >= 900:
# API disabled, down or rejecting, return without changes
return
if error == '211': if error == '211':
account.api_status = API_STATUS_ACC_EXPIRED account.api_status = API_STATUS_ACC_EXPIRED
else: else:

View File

@@ -64,7 +64,7 @@ class SSOUser(models.Model):
# Create a list of Char groups # Create a list of Char groups
chargroups = [] chargroups = []
for eacc in EVEAccount.objects.filter(user=self.user): for eacc in EVEAccount.objects.filter(user=self.user):
if eacc.api_status == 1: if eacc.api_status in [1,3]:
for char in eacc.characters.all(): for char in eacc.characters.all():
if char.corporation.group: if char.corporation.group:
chargroups.append(char.corporation.group) chargroups.append(char.corporation.group)
@@ -75,6 +75,8 @@ class SSOUser(models.Model):
# Generate the list of groups to add/remove # Generate the list of groups to add/remove
delgroups = set(set(self.user.groups.all()) & set(corpgroups)) - set(chargroups) delgroups = set(set(self.user.groups.all()) & set(corpgroups)) - set(chargroups)
addgroups = set(chargroups) - set(set(self.user.groups.all()) & set(corpgroups)) addgroups = set(chargroups) - set(set(self.user.groups.all()) & set(corpgroups))
print "Add: ", addgroups, "Del:", delgroups, "Current:", self.user.groups.all()
for g in delgroups: for g in delgroups:
self.user.groups.remove(g) self.user.groups.remove(g)