mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-07-13 06:20:16 +02:00
Merge pull request #97 from Adarnof/check_exists
Added logic to check if corp or alliance exists
This commit is contained in:
commit
7dd9e670a8
@ -369,6 +369,7 @@ def run_corp_update():
|
|||||||
|
|
||||||
# Update all allinace info's
|
# Update all allinace info's
|
||||||
for all_alliance_info in EveManager.get_all_alliance_info():
|
for all_alliance_info in EveManager.get_all_alliance_info():
|
||||||
|
if EveApiManager.check_if_alliance_exists(all_alliance_info.alliance_id):
|
||||||
all_alliance_api_info = EveApiManager.get_alliance_information(all_alliance_info.alliance_id)
|
all_alliance_api_info = EveApiManager.get_alliance_information(all_alliance_info.alliance_id)
|
||||||
if (not settings.IS_CORP and all_alliance_info.alliance_id == settings.ALLIANCE_ID):
|
if (not settings.IS_CORP and all_alliance_info.alliance_id == settings.ALLIANCE_ID):
|
||||||
EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'],
|
EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'],
|
||||||
@ -392,9 +393,13 @@ def run_corp_update():
|
|||||||
EveManager.update_alliance_info(all_alliance_api_info['id'],
|
EveManager.update_alliance_info(all_alliance_api_info['id'],
|
||||||
all_alliance_api_info['executor_id'],
|
all_alliance_api_info['executor_id'],
|
||||||
all_alliance_api_info['member_count'], False)
|
all_alliance_api_info['member_count'], False)
|
||||||
|
else:
|
||||||
|
#alliance no longer exists
|
||||||
|
all_alliance_info.delete()
|
||||||
|
|
||||||
# Update corp infos
|
# Update corp infos
|
||||||
for all_corp_info in EveManager.get_all_corporation_info():
|
for all_corp_info in EveManager.get_all_corporation_info():
|
||||||
|
if EveApiManager.check_if_corp_exists(all_corp_info.corporation_id):
|
||||||
alliance = None
|
alliance = None
|
||||||
corpinfo = EveApiManager.get_corporation_information(all_corp_info.corporation_id)
|
corpinfo = EveApiManager.get_corporation_information(all_corp_info.corporation_id)
|
||||||
if corpinfo['alliance']['id'] is not None:
|
if corpinfo['alliance']['id'] is not None:
|
||||||
@ -424,6 +429,9 @@ def run_corp_update():
|
|||||||
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False)
|
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False)
|
||||||
else:
|
else:
|
||||||
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False)
|
EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False)
|
||||||
|
else:
|
||||||
|
#corp has closed
|
||||||
|
all_corp_info.delete()
|
||||||
|
|
||||||
# Remove irrelevent corp and alliance models
|
# Remove irrelevent corp and alliance models
|
||||||
# Check the corps
|
# Check the corps
|
||||||
|
@ -179,3 +179,38 @@ class EveApiManager():
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def check_if_alliance_exists(alliance_id):
|
||||||
|
try:
|
||||||
|
api = evelink.api.API()
|
||||||
|
eve = evelink.eve.EVE(api=api)
|
||||||
|
alliances = eve.alliances()
|
||||||
|
if int(alliance_id) in alliances[0]:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
except evelink.api.APIError as error:
|
||||||
|
print error
|
||||||
|
return False
|
||||||
|
except ValueError as error:
|
||||||
|
#attempts to catch error resulting from checking alliance_of nonetype models
|
||||||
|
print error
|
||||||
|
return False
|
||||||
|
return False
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def check_if_corp_exists(corp_id):
|
||||||
|
try:
|
||||||
|
api = evelink.api.API()
|
||||||
|
corp = evelink.corp.Corp(api=api)
|
||||||
|
corpinfo = corp.corporation_sheet(corp_id=corp_id)
|
||||||
|
if corpinfo[0]['members']['current'] > 0:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
except evelink.api.APIError as error:
|
||||||
|
#could be smart and check for error code523 to verify error due to no corp instead of catch-all
|
||||||
|
print error
|
||||||
|
return False
|
||||||
|
return False
|
||||||
|
Loading…
x
Reference in New Issue
Block a user