From c4f66e380afc51d7add12aec8b4bfdcbf7630656 Mon Sep 17 00:00:00 2001 From: Adarnof Date: Wed, 4 Nov 2015 23:35:43 +0000 Subject: [PATCH 1/5] Hotfix for Issue #89 Reworked logic to prevent comparison of NoneType alliance ID --- celerytask/tasks.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/celerytask/tasks.py b/celerytask/tasks.py index 45f758e9..6d78adb6 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -428,10 +428,15 @@ def run_corp_update(): # Remove irrelevent corp and alliance models # Check the corps for all_corp_info in EveManager.get_all_corporation_info(): - if (settings.IS_CORP and all_corp_info.corporation_id != settings.CORP_ID) or (not settings.IS_CORP and all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID): + if settings.IS_CORP: + if all_corp_info.corporation_id != settings.CORP_ID: + if not all_corp_info.is_blue: + all_corp_info.delete() + elif all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID: if not all_corp_info.is_blue: all_corp_info.delete() + # Check the alliances for all_alliance_info in EveManager.get_all_alliance_info(): if (not settings.IS_CORP and all_alliance_info.alliance_id != settings.ALLIANCE_ID): From fd70fb8f0323a3618132bd98c2800443d17b4804 Mon Sep 17 00:00:00 2001 From: Adarnof Date: Wed, 4 Nov 2015 23:45:00 +0000 Subject: [PATCH 2/5] Revision of hotfix for Issue #89 ensures alliance model exists before checking ID --- celerytask/tasks.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/celerytask/tasks.py b/celerytask/tasks.py index 6d78adb6..af1a01df 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -432,9 +432,10 @@ def run_corp_update(): if all_corp_info.corporation_id != settings.CORP_ID: if not all_corp_info.is_blue: all_corp_info.delete() - elif all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID: - if not all_corp_info.is_blue: - all_corp_info.delete() + elif all_corp_info.alliance is not None: + if all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID: + if not all_corp_info.is_blue: + all_corp_info.delete() # Check the alliances From 0420bfb494c48241c0ce7ef2b33e53bc9ca7b6b4 Mon Sep 17 00:00:00 2001 From: Adarnof Date: Thu, 5 Nov 2015 02:25:12 +0000 Subject: [PATCH 3/5] improved handling of corp/alliance model deletion --- celerytask/tasks.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/celerytask/tasks.py b/celerytask/tasks.py index af1a01df..2ffc9a1a 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -432,14 +432,16 @@ def run_corp_update(): if all_corp_info.corporation_id != settings.CORP_ID: if not all_corp_info.is_blue: all_corp_info.delete() - elif all_corp_info.alliance is not None: - if all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID: - if not all_corp_info.is_blue: - all_corp_info.delete() - + else: + if all_corp_info.alliance is not None: + if all_corp_info.alliance.alliance_id != settings.ALLIANCE_ID: + if not all_corp_info.is_blue: + all_corp_info.delete() + elif not all_corp_info.is_blue: + all_corp_info.delete() # Check the alliances for all_alliance_info in EveManager.get_all_alliance_info(): - 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: if all_alliance_info.is_blue is not True: all_alliance_info.delete() From cf634d77a4e62926926c50958840d82952469b0d Mon Sep 17 00:00:00 2001 From: Adarnof Date: Thu, 5 Nov 2015 04:16:14 +0000 Subject: [PATCH 4/5] improved alliance model deletion logic --- celerytask/tasks.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/celerytask/tasks.py b/celerytask/tasks.py index 2ffc9a1a..8ef9ce7d 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -442,6 +442,13 @@ def run_corp_update(): # Check the alliances for all_alliance_info in EveManager.get_all_alliance_info(): - if not settings.IS_CORP and all_alliance_info.alliance_id != settings.ALLIANCE_ID: + if settings.IS_CORP: + if all_alliance_info.is_blue is not True: + if corpinfo.alliance is not None: + if all_alliance_info.alliance_id != corpinfo.alliance.alliance_id: + all_alliance_info.delete() + else: + all_alliance_info.delete() + elif all_alliance_info.alliance_id != settings.ALLIANCE_ID: if all_alliance_info.is_blue is not True: all_alliance_info.delete() From d8f4cfb3c989f1d5297cf63730809c6148fb6bfb Mon Sep 17 00:00:00 2001 From: Adarnof Date: Wed, 18 Nov 2015 03:56:28 +0000 Subject: [PATCH 5/5] Corrected logic for handling no standings --- celerytask/tasks.py | 80 ++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/celerytask/tasks.py b/celerytask/tasks.py index 8ef9ce7d..db78f88b 100755 --- a/celerytask/tasks.py +++ b/celerytask/tasks.py @@ -367,19 +367,23 @@ def run_corp_update(): blue_info['ticker'], blue_info['members']['current'], True, blue_alliance) - # Update all allinace info's - for all_alliance_info in EveManager.get_all_alliance_info(): - 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): - EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'], - all_alliance_api_info['member_count'], False) - elif standing_level in corp_standings: - if int(all_alliance_info.alliance_id) in corp_standings[standing_level]: - if int(corp_standings[standing_level][int(all_alliance_info.alliance_id)][ - 'standing']) >= settings.BLUE_STANDING: - EveManager.update_alliance_info(all_alliance_api_info['id'], - all_alliance_api_info['executor_id'], - all_alliance_api_info['member_count'], True) + # Update all allinace info's + for all_alliance_info in EveManager.get_all_alliance_info(): + 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): + EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'], + all_alliance_api_info['member_count'], False) + elif standing_level in corp_standings: + if int(all_alliance_info.alliance_id) in corp_standings[standing_level]: + if int(corp_standings[standing_level][int(all_alliance_info.alliance_id)][ + 'standing']) >= settings.BLUE_STANDING: + EveManager.update_alliance_info(all_alliance_api_info['id'], + all_alliance_api_info['executor_id'], + all_alliance_api_info['member_count'], True) + else: + EveManager.update_alliance_info(all_alliance_api_info['id'], + all_alliance_api_info['executor_id'], + all_alliance_api_info['member_count'], False) else: EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'], @@ -388,42 +392,38 @@ def run_corp_update(): EveManager.update_alliance_info(all_alliance_api_info['id'], all_alliance_api_info['executor_id'], all_alliance_api_info['member_count'], False) - else: - EveManager.update_alliance_info(all_alliance_api_info['id'], - all_alliance_api_info['executor_id'], - all_alliance_api_info['member_count'], False) - # Update corp infos - for all_corp_info in EveManager.get_all_corporation_info(): - alliance = None - corpinfo = EveApiManager.get_corporation_information(all_corp_info.corporation_id) - if corpinfo['alliance']['id'] is not None: - alliance = EveManager.get_alliance_info_by_id(corpinfo['alliance']['id']) + # Update corp infos + for all_corp_info in EveManager.get_all_corporation_info(): + alliance = None + corpinfo = EveApiManager.get_corporation_information(all_corp_info.corporation_id) + if corpinfo['alliance']['id'] is not None: + alliance = EveManager.get_alliance_info_by_id(corpinfo['alliance']['id']) - if alliance is not None and all_corp_info.alliance is not None: + if alliance is not None and all_corp_info.alliance is not None: - if (not settings.IS_CORP) and (all_corp_info.alliance.alliance_id == settings.ALLIANCE_ID): - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, False) - elif int(alliance.alliance_id) in corp_standings[standing_level]: - if int(corp_standings[standing_level][int(alliance.alliance_id)][ - 'standing']) >= settings.BLUE_STANDING: - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, - True) + if (not settings.IS_CORP) and (all_corp_info.alliance.alliance_id == settings.ALLIANCE_ID): + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, False) + elif int(alliance.alliance_id) in corp_standings[standing_level]: + if int(corp_standings[standing_level][int(alliance.alliance_id)][ + 'standing']) >= settings.BLUE_STANDING: + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, + True) + else: + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, + False) else: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, False) else: - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], alliance, - False) - else: - if int(all_corp_info.corporation_id) in corp_standings[standing_level]: - if int(corp_standings[standing_level][int(all_corp_info.corporation_id)][ - 'standing']) >= settings.BLUE_STANDING: - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, True) + if int(all_corp_info.corporation_id) in corp_standings[standing_level]: + if int(corp_standings[standing_level][int(all_corp_info.corporation_id)][ + 'standing']) >= settings.BLUE_STANDING: + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, True) + else: + EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) else: EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) - else: - EveManager.update_corporation_info(corpinfo['id'], corpinfo['members']['current'], None, False) # Remove irrelevent corp and alliance models # Check the corps