Reduce API calls to speed up API checks

This commit is contained in:
Adarnof 2016-12-19 21:13:45 -05:00
parent 55f349c35b
commit 2a87eed059
2 changed files with 2 additions and 2 deletions

View File

@ -47,7 +47,7 @@ def add_api_key(request):
owner = request.user owner = request.user
# Grab characters associated with the key pair # Grab characters associated with the key pair
characters = EveManager.get_characters_from_api(api_key) characters = EveManager.get_characters_from_api(api_key)
[EveManager.create_character(c.id, owner, api_key.api_id) for c in characters if not EveCharacter.objects.filter(character_id=c.id).exists()] [EveManager.create_character_obj(c, owner, api_key.api_id) for c in characters if not EveCharacter.objects.filter(character_id=c.id).exists()]
logger.info("Successfully processed api add form for user %s" % request.user) logger.info("Successfully processed api add form for user %s" % request.user)
if not settings.API_SSO_VALIDATION: if not settings.API_SSO_VALIDATION:
messages.success(request, 'Added API key %s to your account.' % form.cleaned_data['api_id']) messages.success(request, 'Added API key %s to your account.' % form.cleaned_data['api_id'])

View File

@ -319,7 +319,6 @@ class EveApiManager:
def validate_api(api_id, api_key, user): def validate_api(api_id, api_key, user):
try: try:
info = EveApiManager.get_api_info(api_id, api_key).result info = EveApiManager.get_api_info(api_id, api_key).result
chars = EveApiManager.get_characters_from_api(api_id, api_key).result
except evelink.api.APIError as e: except evelink.api.APIError as e:
if int(e.code) == 222: if int(e.code) == 222:
raise EveApiManager.ApiInvalidError(api_id) raise EveApiManager.ApiInvalidError(api_id)
@ -329,6 +328,7 @@ class EveApiManager:
auth, c = AuthServicesInfo.objects.get_or_create(user=user) auth, c = AuthServicesInfo.objects.get_or_create(user=user)
states = [auth.state] states = [auth.state]
from authentication.tasks import determine_membership_by_character # circular import issue from authentication.tasks import determine_membership_by_character # circular import issue
chars = info['characters']
for char in chars: for char in chars:
evechar = EveCharacter() evechar = EveCharacter()
evechar.character_name = chars[char]['name'] evechar.character_name = chars[char]['name']