mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-09 20:40:17 +02:00
[CHANGE] split it into 2 functions
- `get_main_character_from_user` to return the `EveCharacter` object - `get_main_character_name_from_user` to return the main character name as string
This commit is contained in:
parent
4cc7135ace
commit
a747951d19
@ -2,8 +2,12 @@
|
|||||||
Alliance Auth User API
|
Alliance Auth User API
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from typing import Optional
|
||||||
|
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
|
|
||||||
|
from allianceauth.eveonline.models import EveCharacter
|
||||||
|
|
||||||
|
|
||||||
def get_sentinel_user() -> User:
|
def get_sentinel_user() -> User:
|
||||||
"""
|
"""
|
||||||
@ -14,8 +18,7 @@ def get_sentinel_user() -> User:
|
|||||||
|
|
||||||
return User.objects.get_or_create(username="deleted")[0]
|
return User.objects.get_or_create(username="deleted")[0]
|
||||||
|
|
||||||
|
def get_main_character_from_user(user: User) -> Optional[EveCharacter]:
|
||||||
def get_main_character_from_user(user: User) -> str:
|
|
||||||
"""
|
"""
|
||||||
Get the main character from a user
|
Get the main character from a user
|
||||||
|
|
||||||
@ -25,14 +28,37 @@ def get_main_character_from_user(user: User) -> str:
|
|||||||
:rtype:
|
:rtype:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
if user is None:
|
||||||
|
return None
|
||||||
|
|
||||||
|
try:
|
||||||
|
main_character = user.profile.main_character
|
||||||
|
except AttributeError:
|
||||||
|
return None
|
||||||
|
|
||||||
|
return main_character
|
||||||
|
|
||||||
|
|
||||||
|
def get_main_character_name_from_user(user: User) -> str:
|
||||||
|
"""
|
||||||
|
Get the main character name from a user
|
||||||
|
|
||||||
|
:param user:
|
||||||
|
:type user:
|
||||||
|
:return:
|
||||||
|
:rtype:
|
||||||
|
"""
|
||||||
|
|
||||||
if user is None:
|
if user is None:
|
||||||
sentinel_user = get_sentinel_user()
|
sentinel_user = get_sentinel_user()
|
||||||
|
|
||||||
return sentinel_user.username
|
return sentinel_user.username
|
||||||
|
|
||||||
|
main_character = get_main_character_from_user(user=user)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
return_value = user.profile.main_character.character_name
|
username = main_character.character_name
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
return str(user)
|
return str(user)
|
||||||
|
|
||||||
return return_value
|
return username
|
||||||
|
@ -10,7 +10,7 @@ from django.test import TestCase
|
|||||||
|
|
||||||
# Alliance Auth
|
# Alliance Auth
|
||||||
from allianceauth.framework.api.user import get_sentinel_user, \
|
from allianceauth.framework.api.user import get_sentinel_user, \
|
||||||
get_main_character_from_user
|
get_main_character_name_from_user
|
||||||
from allianceauth.tests.auth_utils import AuthUtils
|
from allianceauth.tests.auth_utils import AuthUtils
|
||||||
|
|
||||||
|
|
||||||
@ -74,7 +74,7 @@ class TestGetMainForUser(TestCase):
|
|||||||
user=cls.user, name=character_name, character_id=1001
|
user=cls.user, name=character_name, character_id=1001
|
||||||
)
|
)
|
||||||
|
|
||||||
def test_get_main_character_from_user_should_return_character_name(self):
|
def test_get_main_character_name_from_user_should_return_character_name(self):
|
||||||
"""
|
"""
|
||||||
Test should return the main character name for a regular user
|
Test should return the main character name for a regular user
|
||||||
|
|
||||||
@ -82,11 +82,11 @@ class TestGetMainForUser(TestCase):
|
|||||||
:rtype:
|
:rtype:
|
||||||
"""
|
"""
|
||||||
|
|
||||||
character_name = get_main_character_from_user(user=self.user)
|
character_name = get_main_character_name_from_user(user=self.user)
|
||||||
|
|
||||||
self.assertEqual(first=character_name, second="William T. Riker")
|
self.assertEqual(first=character_name, second="William T. Riker")
|
||||||
|
|
||||||
def test_get_main_character_from_user_should_return_user_name(self):
|
def test_get_main_character_name_from_user_should_return_user_name(self):
|
||||||
"""
|
"""
|
||||||
Test should return just the username for a user without a character
|
Test should return just the username for a user without a character
|
||||||
|
|
||||||
@ -96,11 +96,11 @@ class TestGetMainForUser(TestCase):
|
|||||||
|
|
||||||
user = AuthUtils.create_user(username="John Doe")
|
user = AuthUtils.create_user(username="John Doe")
|
||||||
|
|
||||||
character_name = get_main_character_from_user(user=user)
|
character_name = get_main_character_name_from_user(user=user)
|
||||||
|
|
||||||
self.assertEqual(first=character_name, second="John Doe")
|
self.assertEqual(first=character_name, second="John Doe")
|
||||||
|
|
||||||
def test_get_main_character_from_user_should_return_sentinel_user(self):
|
def test_get_main_character_name_from_user_should_return_sentinel_user(self):
|
||||||
"""
|
"""
|
||||||
Test should return "deleted" as username (Sentinel User)
|
Test should return "deleted" as username (Sentinel User)
|
||||||
|
|
||||||
@ -110,7 +110,7 @@ class TestGetMainForUser(TestCase):
|
|||||||
|
|
||||||
user = get_sentinel_user()
|
user = get_sentinel_user()
|
||||||
|
|
||||||
character_name = get_main_character_from_user(user=user)
|
character_name = get_main_character_name_from_user(user=user)
|
||||||
|
|
||||||
self.assertEqual(first=character_name, second="deleted")
|
self.assertEqual(first=character_name, second="deleted")
|
||||||
|
|
||||||
@ -124,6 +124,6 @@ class TestGetMainForUser(TestCase):
|
|||||||
|
|
||||||
user = None
|
user = None
|
||||||
|
|
||||||
character_name = get_main_character_from_user(user=user)
|
character_name = get_main_character_name_from_user(user=user)
|
||||||
|
|
||||||
self.assertEqual(first=character_name, second="deleted")
|
self.assertEqual(first=character_name, second="deleted")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user