mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-12 14:00:17 +02:00
Added the task to auto update corp and alliance info
This commit is contained in:
parent
19e19d89e4
commit
763b3c8230
11
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
11
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@ -0,0 +1,11 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0" is_locked="false">
|
||||
<option name="myName" value="Project Default" />
|
||||
<option name="myLocal" value="false" />
|
||||
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
|
||||
<option name="processCode" value="true" />
|
||||
<option name="processLiterals" value="true" />
|
||||
<option name="processComments" value="true" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
7
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
7
.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="PROJECT_PROFILE" value="Project Default" />
|
||||
<option name="USE_PROJECT_PROFILE" value="true" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
@ -166,5 +166,32 @@ def run_api_refresh():
|
||||
# Run Every 2 hours
|
||||
@periodic_task(run_every=crontab(minute=0, hour="*/2"))
|
||||
def run_alliance_corp_update():
|
||||
alliance_info = EveApiManager.get_alliance_information(settings.ALLIANCE_ID)
|
||||
if EveApiManager.check_if_api_server_online():
|
||||
|
||||
# Updated alliance info
|
||||
alliance_info = EveApiManager.get_alliance_information(settings.ALLIANCE_ID)
|
||||
# Populate alliance info
|
||||
if not EveManager.check_if_alliance_exists_by_id(settings.ALLIANCE_ID):
|
||||
EveManager.create_alliance_info(settings.ALLIANCE_ID, alliance_info['name'], alliance_info['ticker'],
|
||||
alliance_info['executor_id'], alliance_info['member_count'])
|
||||
|
||||
EveManager.update_alliance_info(settings.ALLIANCE_ID, alliance_info['executor_id'],
|
||||
alliance_info['member_count'])
|
||||
|
||||
alliance = EveManager.get_alliance_info_by_id(settings.ALLIANCE_ID)
|
||||
|
||||
# Create the corps in the alliance
|
||||
for alliance_corp in alliance_info['member_corps']:
|
||||
corpinfo = EveApiManager.get_corporation_information(alliance_corp)
|
||||
if not EveManager.check_if_corporation_exists_by_id(corpinfo['id']):
|
||||
EveManager.create_corporation_info(corpinfo['id'], corpinfo['name'], corpinfo['ticker'],
|
||||
corpinfo['members']['current'], alliance)
|
||||
|
||||
# Update all the corps
|
||||
for all_corp_info in EveManager.get_all_corporation_info():
|
||||
corpinfo = EveApiManager.get_corporation_information(all_corp_info.corporation_id)
|
||||
if corpinfo['alliance']['id'] == int(settings.ALLIANCE_ID):
|
||||
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance)
|
||||
else:
|
||||
# No longer in the alliance nuke it
|
||||
all_corp_info.delete()
|
||||
|
@ -2,7 +2,10 @@ from django.contrib import admin
|
||||
|
||||
from models import EveCharacter
|
||||
from models import EveApiKeyPair
|
||||
|
||||
from models import EveAllianceInfo
|
||||
from models import EveCorporationInfo
|
||||
|
||||
admin.site.register(EveCharacter)
|
||||
admin.site.register(EveApiKeyPair)
|
||||
admin.site.register(EveApiKeyPair)
|
||||
admin.site.register(EveAllianceInfo)
|
||||
admin.site.register(EveCorporationInfo)
|
@ -69,7 +69,7 @@ class EveManager:
|
||||
@staticmethod
|
||||
def create_alliance_info(alliance_id, alliance_name, alliance_ticker, alliance_executor_corp_id,
|
||||
alliance_member_count):
|
||||
if EveManager.check_if_alliance_exists_by_id(alliance_id):
|
||||
if not EveManager.check_if_alliance_exists_by_id(alliance_id):
|
||||
alliance_info = EveAllianceInfo()
|
||||
alliance_info.alliance_id = alliance_id
|
||||
alliance_info.alliance_name = alliance_name
|
||||
@ -88,7 +88,7 @@ class EveManager:
|
||||
|
||||
@staticmethod
|
||||
def create_corporation_info(corp_id, corp_name, corp_ticker, corp_member_count, alliance):
|
||||
if EveManager.check_if_corporation_exists_by_id(corp_id):
|
||||
if not EveManager.check_if_corporation_exists_by_id(corp_id):
|
||||
corp_info = EveCorporationInfo()
|
||||
corp_info.corporation_id = corp_id
|
||||
corp_info.corporation_name = corp_name
|
||||
@ -97,6 +97,13 @@ class EveManager:
|
||||
corp_info.alliance = alliance
|
||||
corp_info.save()
|
||||
|
||||
@staticmethod
|
||||
def update_corporation_info(corp_id, corp_member_count, alliance):
|
||||
if EveManager.check_if_corporation_exists_by_id(corp_id):
|
||||
corp_info = EveCorporationInfo.objects.get(corporation_id = corp_id)
|
||||
corp_info.member_count = corp_member_count
|
||||
corp_info.alliance = alliance
|
||||
corp_info.save()
|
||||
|
||||
@staticmethod
|
||||
def get_api_key_pairs(user):
|
||||
@ -171,4 +178,23 @@ class EveManager:
|
||||
|
||||
@staticmethod
|
||||
def check_if_corporation_exists_by_id(corp_id):
|
||||
return EveCorporationInfo.objects.filter(corporation_id=corp_id).exists()
|
||||
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()
|
Loading…
x
Reference in New Issue
Block a user