mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-15 15:30:16 +02:00
52 lines
1.2 KiB
Python
52 lines
1.2 KiB
Python
# this module generates profile URLs for evewho
|
|
|
|
from urllib.parse import urljoin
|
|
|
|
from . import (
|
|
_ESI_CATEGORY_ALLIANCE,
|
|
_ESI_CATEGORY_CORPORATION,
|
|
_ESI_CATEGORY_CHARACTER,
|
|
)
|
|
|
|
|
|
_BASE_URL = 'https://evewho.com'
|
|
|
|
|
|
def _build_url(category: str, eve_id: int) -> str:
|
|
"""return url to profile page for an eve entity"""
|
|
|
|
if category == _ESI_CATEGORY_ALLIANCE:
|
|
partial = 'alliance'
|
|
|
|
elif category == _ESI_CATEGORY_CORPORATION:
|
|
partial = 'corporation'
|
|
|
|
elif category == _ESI_CATEGORY_CHARACTER:
|
|
partial = 'character'
|
|
|
|
else:
|
|
raise NotImplementedError(
|
|
"Not implemented yet for category:" + category
|
|
)
|
|
|
|
url = urljoin(
|
|
_BASE_URL,
|
|
'{}/{}'.format(partial, int(eve_id))
|
|
)
|
|
return url
|
|
|
|
|
|
def alliance_url(eve_id: int) -> str:
|
|
"""url for page about given alliance on evewho"""
|
|
return _build_url(_ESI_CATEGORY_ALLIANCE, eve_id)
|
|
|
|
|
|
def character_url(eve_id: int) -> str:
|
|
"""url for page about given character on evewho"""
|
|
return _build_url(_ESI_CATEGORY_CHARACTER, eve_id)
|
|
|
|
|
|
def corporation_url(eve_id: int) -> str:
|
|
"""url for page about given corporation on evewho"""
|
|
return _build_url(_ESI_CATEGORY_CORPORATION, eve_id)
|