From c4f66e380afc51d7add12aec8b4bfdcbf7630656 Mon Sep 17 00:00:00 2001 From: Adarnof Date: Wed, 4 Nov 2015 23:35:43 +0000 Subject: [PATCH 1/4] 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/4] 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/4] 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/4] 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()