diff --git a/load.py b/load.py index d6d5a21..33db0b3 100644 --- a/load.py +++ b/load.py @@ -3,13 +3,13 @@ import tkinter from typing import Optional -import classes.mission_aggregation_helper -import classes.massacre_mission_state +from massacre.mission_aggregation_helper import get_missions_for_all_cmdrs +import massacre.massacre_mission_state -from classes.ui import ui -from classes.logger_factory import logger -from classes.massacre_settings import configuration, build_settings_ui, push_new_changes -from classes.version_check import build_worker +from massacre.ui import ui +from massacre.logger_factory import logger +from massacre.massacre_settings import configuration, build_settings_ui, push_new_changes +from massacre.version_check import build_worker plugin_name = os.path.basename(os.path.dirname(__file__)) selected_cmdr: Optional[str] = None @@ -37,10 +37,9 @@ def notify_ui_on_outdated(is_outdated: bool): # Building Mission Index import datetime as dt - mission_uuid_to_mission_lookup = \ - classes.mission_aggregation_helper.get_missions_for_all_cmdrs(dt.date.today() - dt.timedelta(weeks=2)) + mission_uuid_to_mission_lookup = get_missions_for_all_cmdrs(dt.date.today() - dt.timedelta(weeks=2)) logger.info(f"Found Missions for {len(mission_uuid_to_mission_lookup)} CMDRs (completed, finished, failed, etc)") - from classes.mission_repository import set_new_repo + from massacre.mission_repository import set_new_repo set_new_repo(mission_uuid_to_mission_lookup) logger.info("Awaiting CMDR Name to start building Mission Index") @@ -52,18 +51,18 @@ def journal_entry(cmdr: str, _is_beta: bool, _system: str, if entry["event"] == "Missions": # Fetch the currently active missions and pass them to the Mission Registry active_mission_uuids = map(lambda x: int(x["MissionID"]), entry["Active"]) - from classes.mission_repository import set_active_uuids + from massacre.mission_repository import set_active_uuids set_active_uuids(list(active_mission_uuids), cmdr) elif entry["event"] == "MissionAccepted": # A new mission has been accepted. The Mission Repository should be notified about this - from classes.mission_repository import mission_repository + from massacre.mission_repository import mission_repository mission_repository.notify_about_new_mission_accepted(entry, cmdr) elif entry["event"] in ["MissionAbandoned", "MissionCompleted"]: # TODO: What about MissionRedirected? # Mission has been completed or failed -> It is no longer active mission_uuid = entry["MissionID"] - from classes.mission_repository import mission_repository + from massacre.mission_repository import mission_repository mission_repository.notify_about_mission_gone(mission_uuid) diff --git a/classes/__init__.py b/massacre/__init__.py similarity index 100% rename from classes/__init__.py rename to massacre/__init__.py diff --git a/classes/logger_factory.py b/massacre/logger_factory.py similarity index 100% rename from classes/logger_factory.py rename to massacre/logger_factory.py diff --git a/classes/massacre_mission_state.py b/massacre/massacre_mission_state.py similarity index 94% rename from classes/massacre_mission_state.py rename to massacre/massacre_mission_state.py index c986967..8f976f2 100644 --- a/classes/massacre_mission_state.py +++ b/massacre/massacre_mission_state.py @@ -2,9 +2,9 @@ This Module contains a subset of all active missions which only contain Massacre Missions """ from typing import Callable -from classes.logger_factory import logger +from massacre.logger_factory import logger -import classes.mission_repository +import massacre.mission_repository class MassacreMission: @@ -107,4 +107,4 @@ def __handle_new_missions_state(data: dict[int, dict]): listener(_massacre_mission_store) -classes.mission_repository.active_missions_changed_event_listeners.append(__handle_new_missions_state) +massacre.mission_repository.active_missions_changed_event_listeners.append(__handle_new_missions_state) diff --git a/classes/massacre_settings.py b/massacre/massacre_settings.py similarity index 98% rename from classes/massacre_settings.py rename to massacre/massacre_settings.py index 888c90f..88705b5 100644 --- a/classes/massacre_settings.py +++ b/massacre/massacre_settings.py @@ -2,8 +2,8 @@ A wrapper around EDMCs Configuration """ import os -from classes.logger_factory import logger -from classes.version_check import download_url +from massacre.logger_factory import logger +from massacre.version_check import download_url from typing import Callable from config import config import tkinter as tk diff --git a/classes/mission_aggregation_helper.py b/massacre/mission_aggregation_helper.py similarity index 97% rename from classes/mission_aggregation_helper.py rename to massacre/mission_aggregation_helper.py index 34ff8b4..c10d484 100644 --- a/classes/mission_aggregation_helper.py +++ b/massacre/mission_aggregation_helper.py @@ -3,7 +3,7 @@ from datetime import datetime from pathlib import Path from config import config -from classes.logger_factory import logger +from massacre.logger_factory import logger file_location: str @@ -46,7 +46,7 @@ def __extract_mission_accepted_events_from_log(file_path: Path) -> tuple[str, li cmdr = str(line_as_json["Name"]) if line_as_json["event"] == "MissionAccepted": return_list.append(line_as_json) - except IOError: + except Exception: logger.warning(f"Failed to open File {file_path}. Skipping...") finally: line = current_log_file.readline() diff --git a/classes/mission_repository.py b/massacre/mission_repository.py similarity index 99% rename from classes/mission_repository.py rename to massacre/mission_repository.py index 1ee1420..9f73b27 100644 --- a/classes/mission_repository.py +++ b/massacre/mission_repository.py @@ -1,6 +1,6 @@ from enum import Flag from typing import Callable, Optional -from classes.logger_factory import logger +from massacre.logger_factory import logger # The listeners are stored as a Tuple of Activator and Callback. # Callback: (mission as dict) -> void diff --git a/classes/ui.py b/massacre/ui.py similarity index 94% rename from classes/ui.py rename to massacre/ui.py index 56139b8..60d144f 100644 --- a/classes/ui.py +++ b/massacre/ui.py @@ -1,11 +1,11 @@ import tkinter as tk from typing import Optional -import classes.massacre_settings -from classes.massacre_mission_state import massacre_mission_listeners, MassacreMission -from classes.massacre_settings import Configuration -from classes.logger_factory import logger -from classes.version_check import open_download_page +import massacre.massacre_settings +from massacre.massacre_mission_state import massacre_mission_listeners, MassacreMission +from massacre.massacre_settings import Configuration +from massacre.logger_factory import logger +from massacre.version_check import open_download_page from theme import theme @@ -175,8 +175,8 @@ def __display_summary(frame: tk.Frame, data: MassacreMissionData, settings: Grid ratio_text = "{:.2f}".format(float(data.target_sum)/float(data.stack_height)) reward_in_millions = float(data.reward) / 1_000_000 wing_reward_in_millions = float(data.shareable_reward) / 1_000_000 - reward_text = "{:.2f}".format(reward_in_millions/data.target_sum) - wing_reward_text = "{:.2f}".format(wing_reward_in_millions/data.target_sum) + reward_text = "{:.2f}".format(reward_in_millions/data.stack_height) + wing_reward_text = "{:.2f}".format(wing_reward_in_millions/data.stack_height) label_text = f"Ratio: {ratio_text}, Reward: {reward_text} ({wing_reward_text}) M CR/Kill. {data.target_sum} Kills." label = tk.Label(frame, text=label_text, fg="green") @@ -236,8 +236,8 @@ class UI: def __init__(self): self.__frame: Optional[tk.Frame] = None self.__data: Optional[MassacreMissionData] = None - self.__settings: GridUiSettings = GridUiSettings(classes.massacre_settings.configuration) - classes.massacre_settings.configuration.config_changed_listeners.append(self.rebuild_settings) + self.__settings: GridUiSettings = GridUiSettings(massacre.massacre_settings.configuration) + massacre.massacre_settings.configuration.config_changed_listeners.append(self.rebuild_settings) self.__display_outdated_version = False def rebuild_settings(self, config: Configuration): @@ -255,7 +255,7 @@ def notify_about_new_massacre_mission_state(self, data: Optional[MassacreMission self.update_ui() def notify_about_settings_changed(self): - self.__settings: GridUiSettings = GridUiSettings(classes.massacre_settings.configuration) + self.__settings: GridUiSettings = GridUiSettings(massacre.massacre_settings.configuration) self.update_ui() def update_ui(self): diff --git a/classes/version_check.py b/massacre/version_check.py similarity index 98% rename from classes/version_check.py rename to massacre/version_check.py index dbb980b..91fefe6 100644 --- a/classes/version_check.py +++ b/massacre/version_check.py @@ -7,7 +7,7 @@ import threading from requests import get -from classes.logger_factory import logger +from massacre.logger_factory import logger from pathlib import Path from typing import Callable diff --git a/version b/version index 10bf840..f93ea0c 100644 --- a/version +++ b/version @@ -1 +1 @@ -2.0.1 \ No newline at end of file +2.0.2 \ No newline at end of file