From ede1ca690366c4140b09ec6d147cba45e7c8ebbe Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Sun, 12 Jul 2020 15:01:18 +0100 Subject: [PATCH 01/19] Create database.py --- database.py | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 database.py diff --git a/database.py b/database.py new file mode 100644 index 0000000..b959b23 --- /dev/null +++ b/database.py @@ -0,0 +1,78 @@ +import sqlite3 +from sqlite3 import Error + +from log import log + + +def connect_database(db_file): + log("Attempting to connect to settings database...") + conn = None + try: + conn = sqlite3.connect(db_file) + log("Database connected") + except Error as e: + log(e) + return conn + + +def create_table(conn, sql): + log("Creating settings table...") + try: + c = conn.cursor() + c.execute(sql) + log("Settings table created") + except Error as e: + print(e) + + +def insert_settings_record(conn, settings): + sql = """INSERT INTO settings_v1(cmdr,origin,destination) + VALUES(?,?,?)""" + log("Inserting new settings record...") + cur = conn.cursor() + cur.execute(sql, settings) + return cur.lastrowid + + +def update_settings_record(conn, settings): + sql = """UPDATE settings_v1 + SET origin = ? , + destination = ? + WHERE cmdr = ?""" + log("Updating existing settings record...") + cur = conn.cursor() + cur.execute(sql, settings) + return cur.lastrowid + + +def select_settings_records(conn): + log("Getting settings table") + cur = conn.cursor() + cur.execute("SELECT * FROM settings_v1") + rows = cur.fetchall() + return rows + + +def setup(db_file): + create_settings_table_sql = """CREATE TABLE IF NOT EXISTS settings_v1 ( + cmdr TEXT, + origin TEXT, + destination TEXT + );""" + log("Starting settings database setup...") + conn = connect_database(db_file) + if conn is not None: + create_table(conn, create_settings_table_sql) + log("Settings database setup complete") + + +def update(db_file, cmdr, origin, destination): + log("Updating settings database...") + conn = connect_database(db_file) + if conn is not None: + settings_table = select_settings_records(conn) + if cmdr in settings_table: + update_settings_record(conn, (origin, destination, cmdr)) + else: + insert_settings_record(conn, (cmdr, origin, destination)) + log("Settings database updated") From 9cecfc656e8debe5b35c12b6c962470600092edb Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Sun, 12 Jul 2020 15:53:41 +0100 Subject: [PATCH 02/19] Replace all references to settings with systems --- database.py | 48 ++++++++++++++++++++++++------------------------ 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/database.py b/database.py index b959b23..12cc3d8 100644 --- a/database.py +++ b/database.py @@ -5,7 +5,7 @@ def connect_database(db_file): - log("Attempting to connect to settings database...") + log("Attempting to connect to systems database...") conn = None try: conn = sqlite3.connect(db_file) @@ -16,63 +16,63 @@ def connect_database(db_file): def create_table(conn, sql): - log("Creating settings table...") + log("Creating systems table...") try: c = conn.cursor() c.execute(sql) - log("Settings table created") + log("Systems table created") except Error as e: print(e) -def insert_settings_record(conn, settings): - sql = """INSERT INTO settings_v1(cmdr,origin,destination) +def insert_systems_record(conn, systems): + sql = """INSERT INTO systems(cmdr,origin,destination) VALUES(?,?,?)""" - log("Inserting new settings record...") + log("Inserting new systems record...") cur = conn.cursor() - cur.execute(sql, settings) + cur.execute(sql, systems) return cur.lastrowid -def update_settings_record(conn, settings): - sql = """UPDATE settings_v1 +def update_systems_record(conn, systems): + sql = """UPDATE systems SET origin = ? , destination = ? WHERE cmdr = ?""" - log("Updating existing settings record...") + log("Updating existing systems record...") cur = conn.cursor() - cur.execute(sql, settings) + cur.execute(sql, systems) return cur.lastrowid -def select_settings_records(conn): - log("Getting settings table") +def select_systems_records(conn): + log("Getting systems table") cur = conn.cursor() - cur.execute("SELECT * FROM settings_v1") + cur.execute("SELECT * FROM systems") rows = cur.fetchall() return rows def setup(db_file): - create_settings_table_sql = """CREATE TABLE IF NOT EXISTS settings_v1 ( + create_systems_table_sql = """CREATE TABLE IF NOT EXISTS systems ( cmdr TEXT, origin TEXT, destination TEXT );""" - log("Starting settings database setup...") + log("Starting systems database setup...") conn = connect_database(db_file) if conn is not None: - create_table(conn, create_settings_table_sql) - log("Settings database setup complete") + create_table(conn, create_systems_table_sql) + log("Systems database setup complete") def update(db_file, cmdr, origin, destination): - log("Updating settings database...") + log("Updating systems database...") conn = connect_database(db_file) if conn is not None: - settings_table = select_settings_records(conn) - if cmdr in settings_table: - update_settings_record(conn, (origin, destination, cmdr)) + systems_table = select_systems_records(conn) + if cmdr in systems_table: + update_systems_record(conn, (origin, destination, cmdr)) else: - insert_settings_record(conn, (cmdr, origin, destination)) - log("Settings database updated") + insert_systems_record(conn, (cmdr, origin, destination)) + log("Systems database updated") From d981f30c0a225070bd71e924f3b9cd5442ffb913 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 13:37:16 +0100 Subject: [PATCH 03/19] Add travelled field --- database.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/database.py b/database.py index 12cc3d8..d5c5ea1 100644 --- a/database.py +++ b/database.py @@ -57,7 +57,8 @@ def setup(db_file): create_systems_table_sql = """CREATE TABLE IF NOT EXISTS systems ( cmdr TEXT, origin TEXT, - destination TEXT + destination TEXT, + travelled FLOAT );""" log("Starting systems database setup...") conn = connect_database(db_file) From bb682703e9f946378049e17fe2a21d037f6c965b Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 13:40:38 +0100 Subject: [PATCH 04/19] Change systems parameter to data --- database.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/database.py b/database.py index d5c5ea1..3fc95e9 100644 --- a/database.py +++ b/database.py @@ -25,23 +25,23 @@ def create_table(conn, sql): print(e) -def insert_systems_record(conn, systems): +def insert_systems_record(conn, data): sql = """INSERT INTO systems(cmdr,origin,destination) VALUES(?,?,?)""" log("Inserting new systems record...") cur = conn.cursor() - cur.execute(sql, systems) + cur.execute(sql, data) return cur.lastrowid -def update_systems_record(conn, systems): +def update_systems_record(conn, data): sql = """UPDATE systems SET origin = ? , destination = ? WHERE cmdr = ?""" log("Updating existing systems record...") cur = conn.cursor() - cur.execute(sql, systems) + cur.execute(sql, data) return cur.lastrowid From 90452b7209508975d1f0058102a44942fb634bdd Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 13:57:27 +0100 Subject: [PATCH 05/19] Add database functionality to plugin code --- load.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/load.py b/load.py index f2f12ae..7cad228 100644 --- a/load.py +++ b/load.py @@ -9,6 +9,7 @@ from system import System from log import log import calculate +import database try: # Python 2 @@ -26,16 +27,22 @@ current = System() version = "1.0.2-indev" +database_file = "systems.db" +database_file_path = "" -def plugin_start(): + +def plugin_start(plugin_dir): # Load plugin into EDMC + global database_file_path + database_file_path = plugin_dir + "/" + database_file + database.setup(database_file_path) log("Exploration Progress has been loaded") return "Exploration Progress" def plugin_start3(plugin_dir): # Python 3 mode - return plugin_start() + return plugin_start(plugin_dir) def plugin_stop(): @@ -62,6 +69,7 @@ def prefs_changed(cmdr, is_beta): # Save settings config.set("ExProg_OriginSystem", this.origin_system.get()) config.set("ExProg_DestinationSystem", this.destination_system.get()) + database.update(database_file_path, cmdr, this.origin_system.get(), this.destination_system.get()) update_systems() From 075756d77de8efcfcc6581e9c7627d0b34ef4e01 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 14:27:07 +0100 Subject: [PATCH 06/19] Change method of checking if CMDR data is already in the database --- database.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/database.py b/database.py index 3fc95e9..3ee30d3 100644 --- a/database.py +++ b/database.py @@ -72,8 +72,13 @@ def update(db_file, cmdr, origin, destination): conn = connect_database(db_file) if conn is not None: systems_table = select_systems_records(conn) - if cmdr in systems_table: - update_systems_record(conn, (origin, destination, cmdr)) - else: + records_amount = len(systems_table) + records_checked = 0 + for record in systems_table: + if cmdr in record: + update_systems_record(conn, (origin, destination, cmdr)) + else: + records_checked += 1 + if records_checked >= records_amount: insert_systems_record(conn, (cmdr, origin, destination)) log("Systems database updated") From 4ef8e7b3ca324326cff8181bacbefbffb32b6308 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 14:32:42 +0100 Subject: [PATCH 07/19] Change / to \ in database file path --- load.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/load.py b/load.py index 7cad228..d69d74b 100644 --- a/load.py +++ b/load.py @@ -34,7 +34,7 @@ def plugin_start(plugin_dir): # Load plugin into EDMC global database_file_path - database_file_path = plugin_dir + "/" + database_file + database_file_path = plugin_dir + "\\" + database_file database.setup(database_file_path) log("Exploration Progress has been loaded") return "Exploration Progress" From a0901f7c1e720d7bc744d97eeab2bfcf5236586a Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 14:57:58 +0100 Subject: [PATCH 08/19] Add get systems function --- database.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/database.py b/database.py index 3ee30d3..337525a 100644 --- a/database.py +++ b/database.py @@ -82,3 +82,25 @@ def update(db_file, cmdr, origin, destination): if records_checked >= records_amount: insert_systems_record(conn, (cmdr, origin, destination)) log("Systems database updated") + + +def get_systems(db_file, cmdr): + log("Retrieving CMDR systems from database...") + success = False + origin = "" + destination = "" + conn = connect_database(db_file) + if conn is not None: + systems_table = select_systems_records(conn) + records_amount = len(systems_table) + records_checked = 0 + for record in systems_table: + if cmdr in record: + success = True + origin = record[1] + destination = record[2] + else: + records_checked += 1 + if records_checked >= records_amount: + success = False + return success, origin, destination From ef6788b92c873dfe15b32b3e1201886b12e2f479 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 15:00:17 +0100 Subject: [PATCH 09/19] Implement get systems function --- load.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/load.py b/load.py index d69d74b..590dc4d 100644 --- a/load.py +++ b/load.py @@ -52,9 +52,13 @@ def plugin_stop(): def plugin_prefs(parent, cmdr, is_beta): # Plugin settings GUI in EDMC Settings dialog + success, origin_name, destination_name = database.get_systems(database_file_path, cmdr) + if not success: + origin_name = config.get("ExProg_OriginSystem") + destination_name = config.get("ExProg_DestinationSystem") frame = nb.Frame(parent) - this.origin_system = tk.StringVar(value=config.get("ExProg_OriginSystem")) - this.destination_system = tk.StringVar(value=config.get("ExProg_DestinationSystem")) + this.origin_system = tk.StringVar(value=origin_name) + this.destination_system = tk.StringVar(value=destination_name) nb.Label(frame, text="Origin System").grid() nb.Entry(frame, textvariable=this.origin_system).grid() nb.Label(frame, text="Destination System").grid() From 1795e53dc746a31129163d6c2cf1cc0e5165c3d0 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 15:05:45 +0100 Subject: [PATCH 10/19] Add logging messages to get systems function --- database.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/database.py b/database.py index 337525a..e729805 100644 --- a/database.py +++ b/database.py @@ -96,11 +96,14 @@ def get_systems(db_file, cmdr): records_checked = 0 for record in systems_table: if cmdr in record: + log("Retrieving systems...") success = True origin = record[1] destination = record[2] + log("Systems retrieval complete") else: records_checked += 1 if records_checked >= records_amount: + log("Failed to retrieve systems, using values stored in registry instead") success = False return success, origin, destination From 417b8e08a9202abd434b602126357a7e09bc705d Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 15:45:55 +0100 Subject: [PATCH 11/19] Improve file path parsing --- load.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/load.py b/load.py index 590dc4d..85fec80 100644 --- a/load.py +++ b/load.py @@ -1,5 +1,6 @@ # EDMC plugin for Exploration Progress import sys +import os import myNotebook as nb from ttkHyperlinkLabel import HyperlinkLabel @@ -34,7 +35,7 @@ def plugin_start(plugin_dir): # Load plugin into EDMC global database_file_path - database_file_path = plugin_dir + "\\" + database_file + database_file_path = os.path.join(plugin_dir, database_file) database.setup(database_file_path) log("Exploration Progress has been loaded") return "Exploration Progress" From dc17a0fe95e3333cc3ed6083bddadcd030b0262b Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Mon, 13 Jul 2020 16:14:48 +0100 Subject: [PATCH 12/19] Package everything in database.py into a class --- database.py | 204 ++++++++++++++++++++++++++-------------------------- load.py | 10 ++- 2 files changed, 105 insertions(+), 109 deletions(-) diff --git a/database.py b/database.py index e729805..cf044ca 100644 --- a/database.py +++ b/database.py @@ -4,106 +4,104 @@ from log import log -def connect_database(db_file): - log("Attempting to connect to systems database...") - conn = None - try: - conn = sqlite3.connect(db_file) - log("Database connected") - except Error as e: - log(e) - return conn - - -def create_table(conn, sql): - log("Creating systems table...") - try: - c = conn.cursor() - c.execute(sql) - log("Systems table created") - except Error as e: - print(e) - - -def insert_systems_record(conn, data): - sql = """INSERT INTO systems(cmdr,origin,destination) - VALUES(?,?,?)""" - log("Inserting new systems record...") - cur = conn.cursor() - cur.execute(sql, data) - return cur.lastrowid - - -def update_systems_record(conn, data): - sql = """UPDATE systems - SET origin = ? , - destination = ? - WHERE cmdr = ?""" - log("Updating existing systems record...") - cur = conn.cursor() - cur.execute(sql, data) - return cur.lastrowid - - -def select_systems_records(conn): - log("Getting systems table") - cur = conn.cursor() - cur.execute("SELECT * FROM systems") - rows = cur.fetchall() - return rows - - -def setup(db_file): - create_systems_table_sql = """CREATE TABLE IF NOT EXISTS systems ( - cmdr TEXT, - origin TEXT, - destination TEXT, - travelled FLOAT - );""" - log("Starting systems database setup...") - conn = connect_database(db_file) - if conn is not None: - create_table(conn, create_systems_table_sql) - log("Systems database setup complete") - - -def update(db_file, cmdr, origin, destination): - log("Updating systems database...") - conn = connect_database(db_file) - if conn is not None: - systems_table = select_systems_records(conn) - records_amount = len(systems_table) - records_checked = 0 - for record in systems_table: - if cmdr in record: - update_systems_record(conn, (origin, destination, cmdr)) - else: - records_checked += 1 - if records_checked >= records_amount: - insert_systems_record(conn, (cmdr, origin, destination)) - log("Systems database updated") - - -def get_systems(db_file, cmdr): - log("Retrieving CMDR systems from database...") - success = False - origin = "" - destination = "" - conn = connect_database(db_file) - if conn is not None: - systems_table = select_systems_records(conn) - records_amount = len(systems_table) - records_checked = 0 - for record in systems_table: - if cmdr in record: - log("Retrieving systems...") - success = True - origin = record[1] - destination = record[2] - log("Systems retrieval complete") - else: - records_checked += 1 - if records_checked >= records_amount: - log("Failed to retrieve systems, using values stored in registry instead") - success = False - return success, origin, destination +class Database: + def __init__(self, db_file): + self.db_file = db_file + self.conn = None + self.setup() + + def setup(self): + create_systems_table_sql = """CREATE TABLE IF NOT EXISTS systems ( + cmdr TEXT, + origin TEXT, + destination TEXT, + travelled FLOAT + );""" + log("Starting systems database setup...") + conn = self.__connect_database() + if conn is not None: + self.conn = conn + self.__create_table(create_systems_table_sql) + log("Systems database setup complete") + + def update(self, cmdr, origin, destination): + log("Updating systems database...") + if self.conn is not None: + systems_table = self.__select_systems_records() + records_amount = len(systems_table) + records_checked = 0 + for record in systems_table: + if cmdr in record: + self.__update_systems_record((origin, destination, cmdr)) + else: + records_checked += 1 + if records_checked >= records_amount: + self.__insert_systems_record((cmdr, origin, destination)) + log("Systems database updated") + + def get_systems(self, cmdr): + log("Retrieving CMDR systems from database...") + success = False + origin = "" + destination = "" + if self.conn is not None: + systems_table = self.__select_systems_records() + records_amount = len(systems_table) + records_checked = 0 + for record in systems_table: + if cmdr in record: + log("Retrieving systems...") + success = True + origin = record[1] + destination = record[2] + log("Systems retrieval complete") + else: + records_checked += 1 + if records_checked >= records_amount: + log("Failed to retrieve systems, using values stored in registry instead") + success = False + return success, origin, destination + + def __connect_database(self): + log("Attempting to connect to systems database...") + conn = None + try: + conn = sqlite3.connect(self.db_file) + log("Database connected") + except Error as e: + log(e) + return conn + + def __create_table(self, sql): + log("Creating systems table...") + try: + c = self.conn.cursor() + c.execute(sql) + log("Systems table created") + except Error as e: + print(e) + + def __insert_systems_record(self, data): + sql = """INSERT INTO systems(cmdr,origin,destination) + VALUES(?,?,?)""" + log("Inserting new systems record...") + cur = self.conn.cursor() + cur.execute(sql, data) + return cur.lastrowid + + def __update_systems_record(self, data): + sql = """UPDATE systems + SET origin = ? , + destination = ? + WHERE cmdr = ?""" + log("Updating existing systems record...") + cur = self.conn.cursor() + cur.execute(sql, data) + return cur.lastrowid + + def __select_systems_records(self): + log("Getting systems table") + cur = self.conn.cursor() + cur.execute("SELECT * FROM systems") + rows = cur.fetchall() + return rows diff --git a/load.py b/load.py index 85fec80..b8438fb 100644 --- a/load.py +++ b/load.py @@ -10,7 +10,7 @@ from system import System from log import log import calculate -import database +from database import Database try: # Python 2 @@ -29,14 +29,12 @@ version = "1.0.2-indev" database_file = "systems.db" -database_file_path = "" def plugin_start(plugin_dir): # Load plugin into EDMC - global database_file_path database_file_path = os.path.join(plugin_dir, database_file) - database.setup(database_file_path) + this.systems_database = Database(database_file_path) log("Exploration Progress has been loaded") return "Exploration Progress" @@ -53,7 +51,7 @@ def plugin_stop(): def plugin_prefs(parent, cmdr, is_beta): # Plugin settings GUI in EDMC Settings dialog - success, origin_name, destination_name = database.get_systems(database_file_path, cmdr) + success, origin_name, destination_name = this.systems_database.get_systems(cmdr) if not success: origin_name = config.get("ExProg_OriginSystem") destination_name = config.get("ExProg_DestinationSystem") @@ -74,7 +72,7 @@ def prefs_changed(cmdr, is_beta): # Save settings config.set("ExProg_OriginSystem", this.origin_system.get()) config.set("ExProg_DestinationSystem", this.destination_system.get()) - database.update(database_file_path, cmdr, this.origin_system.get(), this.destination_system.get()) + this.systems_database.update(cmdr, this.origin_system.get(), this.destination_system.get()) update_systems() From a0d46f41f4d32152ee0054cebe5c74a8163d9bbe Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Tue, 14 Jul 2020 15:54:37 +0100 Subject: [PATCH 13/19] Add commit function calls --- database.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/database.py b/database.py index cf044ca..33d86e7 100644 --- a/database.py +++ b/database.py @@ -87,6 +87,7 @@ def __insert_systems_record(self, data): log("Inserting new systems record...") cur = self.conn.cursor() cur.execute(sql, data) + self.conn.commit() return cur.lastrowid def __update_systems_record(self, data): @@ -97,6 +98,7 @@ def __update_systems_record(self, data): log("Updating existing systems record...") cur = self.conn.cursor() cur.execute(sql, data) + self.conn.commit() return cur.lastrowid def __select_systems_records(self): From af2e0233764fafda935eacc10cd0153156bba602 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Wed, 15 Jul 2020 20:02:13 +0100 Subject: [PATCH 14/19] Get system names from database in update systems procedure and keep systems updated on each call of the journal entry procedure --- load.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/load.py b/load.py index b8438fb..6ff6700 100644 --- a/load.py +++ b/load.py @@ -73,7 +73,7 @@ def prefs_changed(cmdr, is_beta): config.set("ExProg_OriginSystem", this.origin_system.get()) config.set("ExProg_DestinationSystem", this.destination_system.get()) this.systems_database.update(cmdr, this.origin_system.get(), this.destination_system.get()) - update_systems() + update_systems(cmdr) def plugin_app(parent): @@ -87,7 +87,6 @@ def plugin_app(parent): this.bar.grid() this.status = tk.Label(this.frame, text="") this.status.grid() - update_systems() return this.frame @@ -111,10 +110,12 @@ def journal_entry(cmdr, is_beta, system, station, entry, state): update_status("destination_reached") -def update_systems(ui_update=False): +def update_systems(cmdr, ui_update=False): log("Updating origin and destination systems...") - origin_name = config.get("ExProg_OriginSystem") - destination_name = config.get("ExProg_DestinationSystem") + success, origin_name, destination_name = this.systems_database.get_systems(cmdr) + if not success: + origin_name = config.get("ExProg_OriginSystem") + destination_name = config.get("ExProg_DestinationSystem") log("Origin system: " + str(origin_name) + ", Destination system: " + str(destination_name)) origin.setName(name=origin_name, verify=True, populate=True) destination.setName(name=destination_name, verify=True, populate=True) From dc68a4080e4a4b1b28e9daa715218a0be2ed7eb4 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Wed, 15 Jul 2020 20:06:34 +0100 Subject: [PATCH 15/19] Add missing cmdr parameter to update systems call in journal entry procedure --- load.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/load.py b/load.py index 6ff6700..054575e 100644 --- a/load.py +++ b/load.py @@ -106,7 +106,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state): # Reached destination config.set("ExProg_OriginSystem", "") config.set("ExProg_DestinationSystem", "") - update_systems(ui_update=False) + update_systems(cmdr, ui_update=False) update_status("destination_reached") From eefb871ef054b72d56a4f6bc8cf2dd6d2d1f06f0 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Wed, 15 Jul 2020 20:11:17 +0100 Subject: [PATCH 16/19] Actually update systems in journal entry procedure --- load.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/load.py b/load.py index 054575e..830b46e 100644 --- a/load.py +++ b/load.py @@ -99,8 +99,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state): coords = tuple(entry["StarPos"]) current.setCoords(coords[0], coords[1], coords[2]) log("Updated current system") - update_status() - update_progress() + update_systems(cmdr) if current.getName() == destination.getName(): log("Destination reached") # Reached destination From a9b8cbdfd4792d1c8a58937a0f62ecd16091c00d Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Thu, 16 Jul 2020 12:21:01 +0100 Subject: [PATCH 17/19] Make default status message show origin and destination systems for debugging --- load.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/load.py b/load.py index 830b46e..167b47a 100644 --- a/load.py +++ b/load.py @@ -191,7 +191,8 @@ def update_status(external_message=None): status_colour = "yellow" else: log("All systems go!") - status_message = "" + status_message = "Origin: " + origin.getName() + "\n" \ + "Destination: " + destination.getName() status_colour = "green" this.status["text"] = status_message From 6f7ae310d651917e9258e984666f779e58123d17 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Thu, 16 Jul 2020 13:56:27 +0100 Subject: [PATCH 18/19] Fix UI not updating --- load.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/load.py b/load.py index 167b47a..73d0d71 100644 --- a/load.py +++ b/load.py @@ -73,7 +73,7 @@ def prefs_changed(cmdr, is_beta): config.set("ExProg_OriginSystem", this.origin_system.get()) config.set("ExProg_DestinationSystem", this.destination_system.get()) this.systems_database.update(cmdr, this.origin_system.get(), this.destination_system.get()) - update_systems(cmdr) + update_systems(cmdr, ui_update=True) def plugin_app(parent): @@ -99,7 +99,7 @@ def journal_entry(cmdr, is_beta, system, station, entry, state): coords = tuple(entry["StarPos"]) current.setCoords(coords[0], coords[1], coords[2]) log("Updated current system") - update_systems(cmdr) + update_systems(cmdr, ui_update=True) if current.getName() == destination.getName(): log("Destination reached") # Reached destination From 39fb39c0ba1e62a0639e415ea49a6f7e6d154cc6 Mon Sep 17 00:00:00 2001 From: Lexi Stevens Date: Sun, 26 Jul 2020 14:35:54 +0100 Subject: [PATCH 19/19] Correct system name from EDSM API --- edsm.py | 4 +++- system.py | 8 +++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/edsm.py b/edsm.py index 1953131..556f385 100644 --- a/edsm.py +++ b/edsm.py @@ -13,6 +13,7 @@ def get_coords_from_edsm(system_name): system_name_url = quote(system_name) edsm_url = "https://www.edsm.net/api-v1/system?systemName={SYSTEM}&showCoordinates=1".format(SYSTEM=system_name_url) success = False + name = "MissingNo" x = 0 y = 0 z = 0 @@ -22,6 +23,7 @@ def get_coords_from_edsm(system_name): edsm_json = json.loads(response) if "name" and "coords" in edsm_json: success = True + name = edsm_json["name"] x = edsm_json["coords"]["x"] y = edsm_json["coords"]["y"] z = edsm_json["coords"]["z"] @@ -29,4 +31,4 @@ def get_coords_from_edsm(system_name): pass except IOError: pass - return success, x, y, z + return success, name, x, y, z diff --git a/system.py b/system.py index f2dc277..81619b8 100644 --- a/system.py +++ b/system.py @@ -63,11 +63,13 @@ def setCoords(self, x, y, z): # Function to populate coordinates from EDSM def populateCoords(self): - success, x, y, z = get_coords_from_edsm(self.name) + success, name, x, y, z = get_coords_from_edsm(self.name) if success: self.setCoords(x, y, z) # Function to verify system existence on EDSM def verifySystem(self): - success = get_coords_from_edsm(self.name) - return success[0] + success, name, x, y, z = get_coords_from_edsm(self.name) + if success: + self.setName(name=name, verify=False, populate=False) + return success