diff --git a/src/farm/__init__.py b/src/farm/__init__.py index 2ae6d08..007b3bc 100644 --- a/src/farm/__init__.py +++ b/src/farm/__init__.py @@ -76,7 +76,7 @@ def wrapper(self): err = str(ex) except NotFullTeamException as ex: err = str(ex) - self.save_error(err) + self.save_error(err, is_config_error=False) except UnableJoinException as ex: err = str(ex) special = True @@ -334,7 +334,7 @@ def save_status(self, status: str): def get_status_from_usage(self) -> str: return get_json_file(USAGE_FILE).get('status', 'None') - def save_error(self, error: str): + def save_error(self, error: str, is_config_error=True): ''' Use when got error that can't re-run able e.g. Tier raid/quest unreachable @@ -342,6 +342,7 @@ def save_error(self, error: str): usage = get_json_file(USAGE_FILE) f = usage.get(self.feature, {}) f['error'] = error + f['is_config_error'] = is_config_error usage[self.feature] = f save_json_file(USAGE_FILE, usage) diff --git a/src/ui/main_screen.py b/src/ui/main_screen.py index 50c74bc..5f93a22 100644 --- a/src/ui/main_screen.py +++ b/src/ui/main_screen.py @@ -10,6 +10,7 @@ from utils import \ clean_config_of_farm, \ find_image_and_click_then_sleep, \ + is_config_error, \ is_rerun_mode, \ go_main_screen, \ is_debug, \ @@ -273,8 +274,9 @@ def move_to_queue(): def _create_error_frame_btn(self, farm: Farm, error: str): def _repaired_error(farm: Farm, fr: ttk.Frame): - clean_config_of_farm(farm.feature) - self.try_create_farm(farm).set_default_config() + if is_config_error(farm.feature): + clean_config_of_farm(farm.feature) + self.try_create_farm(farm).set_default_config() self.errors.remove(farm) self._add_queue_and_farms(farm) fr.pack_forget() diff --git a/src/utils.py b/src/utils.py index fce7d8f..dbedb33 100644 --- a/src/utils.py +++ b/src/utils.py @@ -318,3 +318,7 @@ def clean_config_of_farm(name: str): except: pass save_json_file(CONFIG_FILE, cfg) + + +def is_config_error(name: str): + return get_json_file(USAGE_FILE).get(name, {}).get('is_config_error', False)