Fix: Can not update biomassed characters
Sometimes characters that have been added to Auth are no longer recognized by ESI and will produce an error (404, "Character has been deleted!") when trying to update them. (see below for exception example)
This fix does the following:
- Re-enables Auth to update biomassed characters without generating ESI errors
- Automatically deletes tokens of biomassed characters, which are no longer valid
- Notifies owner when tokens have been deleted
Example exception:
[2021-11-30 00:12:17,712: ERROR/MainProcess] Task allianceauth.eveonline.tasks.update_character[3104a98e-df26-4158-8109-c20489a323ad] raised unexpected: ObjectNotFound(2116005947, 'character')
Traceback (most recent call last):
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/allianceauth/eveonline/providers.py", line 243, in get_character
data = self.client.Character.get_characters_character_id(character_id=character_id).result()
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/esi/clients.py", line 227, in result
result, response = super().result(**kwargs)
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/bravado/http_future.py", line 271, in result
swagger_result = self._get_swagger_result(incoming_response)
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/bravado/http_future.py", line 124, in wrapper
return func(self, *args, **kwargs)
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/bravado/http_future.py", line 300, in _get_swagger_result
unmarshal_response(
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/bravado/http_future.py", line 353, in unmarshal_response
raise_on_expected(incoming_response)
File "/home/allianceserver/venv/auth/lib/python3.9/site-packages/bravado/http_future.py", line 420, in raise_on_expected
raise make_http_exception(
bravado.exception.HTTPNotFound: 404 Not Found: {'error': 'Character has been deleted!'}
Edited by Erik Kalkoken