mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2026-02-14 11:06:23 +01:00
Remove EveManager, refactor into model managers
Lots of unused methods removed. Unit tests added for those that are left.
This commit is contained in:
@@ -1,26 +1,24 @@
|
||||
import logging
|
||||
|
||||
from .providers import provider
|
||||
|
||||
from .models import EveAllianceInfo
|
||||
from .models import EveCharacter
|
||||
from .models import EveCorporationInfo
|
||||
from django.db import models
|
||||
from . import providers
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class EveManager(object):
|
||||
@classmethod
|
||||
def get_character(cls, character_id):
|
||||
return provider.get_character(character_id)
|
||||
class EveCharacterProviderManager:
|
||||
def get_character(self, character_id) -> providers.Character:
|
||||
return providers.provider.get_character(character_id)
|
||||
|
||||
@staticmethod
|
||||
def create_character(id):
|
||||
return EveManager.create_character_obj(EveManager.get_character(id))
|
||||
|
||||
@staticmethod
|
||||
def create_character_obj(character,):
|
||||
return EveCharacter.objects.create(
|
||||
class EveCharacterManager(models.Manager):
|
||||
provider = EveCharacterProviderManager()
|
||||
|
||||
def create_character(self, character_id):
|
||||
return self.create_character_obj(self.provider.get_character(character_id))
|
||||
|
||||
def create_character_obj(self, character: providers.Character):
|
||||
return self.create(
|
||||
character_id=character.id,
|
||||
character_name=character.name,
|
||||
corporation_id=character.corp.id,
|
||||
@@ -30,76 +28,56 @@ class EveManager(object):
|
||||
alliance_name=character.alliance.name,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def update_character(id):
|
||||
return EveManager.update_character_obj(EveManager.get_character(id))
|
||||
def update_character(self, character_id):
|
||||
return self.get(character_id=character_id).update_character()
|
||||
|
||||
@staticmethod
|
||||
def update_character_obj(char):
|
||||
model = EveCharacter.objects.get(character_id=char.id)
|
||||
model.character_name = char.name
|
||||
model.corporation_id = char.corp.id
|
||||
model.corporation_name = char.corp.name
|
||||
model.corporation_ticker = char.corp.ticker
|
||||
model.alliance_id = char.alliance.id
|
||||
model.alliance_name = char.alliance.name
|
||||
model.save()
|
||||
return model
|
||||
def get_character_by_id(self, char_id):
|
||||
if self.filter(character_id=char_id).exists():
|
||||
return self.get(character_id=char_id)
|
||||
return None
|
||||
|
||||
@classmethod
|
||||
def get_alliance(cls, alliance_id):
|
||||
return provider.get_alliance(alliance_id)
|
||||
|
||||
@staticmethod
|
||||
def create_alliance(id):
|
||||
return EveManager.create_alliance_obj(EveManager.get_alliance(id))
|
||||
class EveAllianceProviderManager:
|
||||
def get_alliance(self, alliance_id) -> providers.Alliance:
|
||||
return providers.provider.get_alliance(alliance_id)
|
||||
|
||||
@staticmethod
|
||||
def create_alliance_obj(alliance):
|
||||
return EveAllianceInfo.objects.create(
|
||||
|
||||
class EveAllianceManager(models.Manager):
|
||||
provider = EveAllianceProviderManager()
|
||||
|
||||
def create_alliance(self, alliance_id):
|
||||
return self.create_alliance_obj(self.provider.get_alliance(alliance_id))
|
||||
|
||||
def create_alliance_obj(self, alliance: providers.Alliance):
|
||||
return self.create(
|
||||
alliance_id=alliance.id,
|
||||
alliance_name=alliance.name,
|
||||
alliance_ticker=alliance.ticker,
|
||||
executor_corp_id=alliance.executor_corp_id,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def update_alliance(id):
|
||||
return EveManager.update_alliance_obj(EveManager.get_alliance(id))
|
||||
def update_alliance(self, alliance_id):
|
||||
return self.get(alliance_id=alliance_id).update_alliance()
|
||||
|
||||
@staticmethod
|
||||
def update_alliance_obj(alliance):
|
||||
model = EveAllianceInfo.objects.get(alliance_id=alliance.id)
|
||||
model.executor_corp_id = alliance.executor_corp_id
|
||||
model.save()
|
||||
return model
|
||||
|
||||
@staticmethod
|
||||
def populate_alliance(id):
|
||||
alliance_model = EveAllianceInfo.objects.get(alliance_id=id)
|
||||
alliance = EveManager.get_alliance(id)
|
||||
for corp_id in alliance.corp_ids:
|
||||
if not EveCorporationInfo.objects.filter(corporation_id=corp_id).exists():
|
||||
EveManager.create_corporation(corp_id)
|
||||
EveCorporationInfo.objects.filter(corporation_id__in=alliance.corp_ids).update(alliance=alliance_model)
|
||||
EveCorporationInfo.objects.filter(alliance=alliance_model).exclude(corporation_id__in=alliance.corp_ids).update(
|
||||
alliance=None)
|
||||
class EveCorporationProviderManager:
|
||||
def get_corporation(self, corp_id) -> providers.Corporation:
|
||||
return providers.provider.get_corp(corp_id)
|
||||
|
||||
@classmethod
|
||||
def get_corporation(cls, corp_id):
|
||||
return provider.get_corp(corp_id)
|
||||
|
||||
@staticmethod
|
||||
def create_corporation(id):
|
||||
return EveManager.create_corporation_obj(EveManager.get_corporation(id))
|
||||
class EveCorporationManager(models.Manager):
|
||||
provider = EveCorporationProviderManager()
|
||||
|
||||
@staticmethod
|
||||
def create_corporation_obj(corp):
|
||||
def create_corporation(self, corp_id):
|
||||
return self.create_corporation_obj(self.provider.get_corporation(corp_id))
|
||||
|
||||
def create_corporation_obj(self, corp: providers.Corporation):
|
||||
from .models import EveAllianceInfo
|
||||
try:
|
||||
alliance = EveAllianceInfo.objects.get(alliance_id=corp.alliance_id)
|
||||
except EveAllianceInfo.DoesNotExist:
|
||||
alliance = None
|
||||
return EveCorporationInfo.objects.create(
|
||||
return self.create(
|
||||
corporation_id=corp.id,
|
||||
corporation_name=corp.name,
|
||||
corporation_ticker=corp.ticker,
|
||||
@@ -107,97 +85,5 @@ class EveManager(object):
|
||||
alliance=alliance,
|
||||
)
|
||||
|
||||
@staticmethod
|
||||
def update_corporation(id):
|
||||
return EveManager.update_corporation_obj(EveManager.get_corporation(id))
|
||||
|
||||
@staticmethod
|
||||
def update_corporation_obj(corp):
|
||||
model = EveCorporationInfo.objects.get(corporation_id=corp.id)
|
||||
model.member_count = corp.members
|
||||
try:
|
||||
model.alliance = EveAllianceInfo.objects.get(alliance_id=corp.alliance_id)
|
||||
except EveAllianceInfo.DoesNotExist:
|
||||
model.alliance = None
|
||||
model.save()
|
||||
return model
|
||||
|
||||
@classmethod
|
||||
def get_itemtype(cls, type_id):
|
||||
return provider.get_itemtype(type_id)
|
||||
|
||||
@staticmethod
|
||||
def check_if_character_exist(char_name):
|
||||
return EveCharacter.objects.filter(character_name=char_name).exists()
|
||||
|
||||
@staticmethod
|
||||
def get_characters_by_owner_id(user):
|
||||
if EveCharacter.objects.filter(user=user).exists():
|
||||
return EveCharacter.objects.all().filter(user=user)
|
||||
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_character_by_character_name(char_name):
|
||||
if EveCharacter.objects.filter(character_name=char_name).exists():
|
||||
return EveCharacter.objects.get(character_name=char_name)
|
||||
|
||||
@staticmethod
|
||||
def get_character_by_id(char_id):
|
||||
if EveCharacter.objects.filter(character_id=char_id).exists():
|
||||
return EveCharacter.objects.get(character_id=char_id)
|
||||
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_characters_by_api_id(api_id):
|
||||
return EveCharacter.objects.filter(api_id=api_id)
|
||||
|
||||
@staticmethod
|
||||
def get_charater_alliance_id_by_id(char_id):
|
||||
if EveCharacter.objects.filter(character_id=char_id).exists():
|
||||
return EveCharacter.objects.get(character_id=char_id).alliance_id
|
||||
|
||||
@staticmethod
|
||||
def check_if_character_owned_by_user(char_id, user):
|
||||
character = EveCharacter.objects.get(character_id=char_id)
|
||||
|
||||
if character.user.id == user.id:
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
@staticmethod
|
||||
def check_if_alliance_exists_by_id(alliance_id):
|
||||
return EveAllianceInfo.objects.filter(alliance_id=alliance_id).exists()
|
||||
|
||||
@staticmethod
|
||||
def check_if_corporation_exists_by_id(corp_id):
|
||||
return EveCorporationInfo.objects.filter(corporation_id=corp_id).exists()
|
||||
|
||||
@staticmethod
|
||||
def get_alliance_info_by_id(alliance_id):
|
||||
if EveManager.check_if_alliance_exists_by_id(alliance_id):
|
||||
return EveAllianceInfo.objects.get(alliance_id=alliance_id)
|
||||
else:
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_corporation_info_by_id(corp_id):
|
||||
if EveManager.check_if_corporation_exists_by_id(corp_id):
|
||||
return EveCorporationInfo.objects.get(corporation_id=corp_id)
|
||||
else:
|
||||
return None
|
||||
|
||||
@staticmethod
|
||||
def get_all_corporation_info():
|
||||
return EveCorporationInfo.objects.all()
|
||||
|
||||
@staticmethod
|
||||
def get_all_alliance_info():
|
||||
return EveAllianceInfo.objects.all()
|
||||
|
||||
@staticmethod
|
||||
def get_charater_corporation_id_by_id(char_id):
|
||||
if EveCharacter.objects.filter(character_id=char_id).exists():
|
||||
return EveCharacter.objects.get(character_id=char_id).corporation_id
|
||||
def update_corporation(self, corp_id):
|
||||
return self.get(corporation_id=corp_id).update_corporation(self.provider.get_corporation(id))
|
||||
|
||||
Reference in New Issue
Block a user