Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions SpanshRouter/AutoCompleter.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,14 @@
from tkinter import *
from SpanshRouter.PlaceHolder import PlaceHolder
import queue


import logging
from config import appname

# We need a name of plugin dir, not AutoCompleter.py dir
plugin_name = os.path.basename(os.path.dirname(os.path.dirname(__file__)))
logger = logging.getLogger(f'{appname}.{plugin_name}')


class AutoCompleter(PlaceHolder):
def __init__(self, parent, placeholder, **kw):
Expand Down Expand Up @@ -160,7 +167,7 @@ def query_systems(self, inp):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))

def write(self, lista):
self.queue.put(lista)
Expand Down
43 changes: 19 additions & 24 deletions SpanshRouter/SpanshRouter.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,11 @@
import logging
from config import appname

# This could also be returned from plugin_start3()
plugin_name = os.path.basename(os.path.dirname(__file__))

# A Logger is used per 'found' plugin to make it easy to include the plugin's
# folder name in the logging output format.
# NB: plugin_name here *must* be the plugin's folder name as per the preceding
# code, else the logger won't be properly set up.
# We need a name of plugin dir, not SpanshRouter.py dir
plugin_name = os.path.basename(os.path.dirname(os.path.dirname(__file__)))
logger = logging.getLogger(f'{appname}.{plugin_name}')


class SpanshRouter():
def __init__(self, plugin_dir):
version_file = os.path.join(plugin_dir, "version.json")
Expand Down Expand Up @@ -333,11 +329,11 @@ def open_last_route(self):
self.update_gui()

except IOError:
print("No previously saved route.")
logger.info("No previously saved route")
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))

def copy_waypoint(self):
if sys.platform == "linux" or sys.platform == "linux2":
Expand Down Expand Up @@ -424,7 +420,7 @@ def plot_file(self):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))
self.enable_plot_gui(True)
self.show_error("(1) An error occured while reading the file.")

Expand Down Expand Up @@ -608,7 +604,7 @@ def plot_route(self):
self.update_gui()
self.save_all_route()
else:
sys.stderr.write("Failed to query plotted route from Spansh: code " + str(route_response.status_code) + route_response.text + '\n')
logger.warning(f"Failed to query plotted route from Spansh, code: {str(route_response.status_code)}; text: {route_response.text}")
self.enable_plot_gui(True)
failure = json.loads(results.content)

Expand All @@ -621,11 +617,11 @@ def plot_route(self):
else:
self.show_error(self.plot_error)
else:
sys.stderr.write("Query to Spansh timed out")
logger.warning("Query to Spansh timed out")
self.enable_plot_gui(True)
self.show_error("The query to Spansh was too long and timed out, please try again.")
else:
sys.stderr.write("Failed to query plotted route from Spansh: code " + str(results.status_code) + results.text + '\n')
logger.warning(f"Failed to query plotted route from Spansh: code {str(results.status_code)}; text: {results.text}")
self.enable_plot_gui(True)
failure = json.loads(results.content)

Expand All @@ -641,7 +637,7 @@ def plot_route(self):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))
self.enable_plot_gui(True)
self.show_error(self.plot_error)

Expand All @@ -668,14 +664,13 @@ def plot_edts(self, filename):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))
self.enable_plot_gui(True)
self.show_error("(2) An error occured while reading the file.")

def export_route(self):
if self.route.__len__() == 0:
#logger.info("No route to export")
print("No route to export")
logger.info("No route to export")
return

route_start = self.route[0][0]
Expand Down Expand Up @@ -711,11 +706,11 @@ def clear_route(self, show_dialog=True):
try:
os.remove(self.save_route_path)
except:
print("No route to delete")
logger.info("No route to delete")
try:
os.remove(self.offset_file_path)
except:
print("No offset file to delete")
logger.info("No offset file to delete")

self.update_gui()

Expand Down Expand Up @@ -758,7 +753,7 @@ def save_route(self):
try:
os.remove(self.save_route_path)
except:
print("No route to delete")
logger.info("No route to delete")

def save_offset(self):
if self.route.__len__() != 0:
Expand All @@ -768,7 +763,7 @@ def save_offset(self):
try:
os.remove(self.offset_file_path)
except:
print("No offset to delete")
logger.info("No offset to delete")

def update_bodies_text(self):
if not self.roadtoriches: return
Expand Down Expand Up @@ -835,7 +830,7 @@ def cleanup_old_version(self):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))

def check_for_update(self):
self.cleanup_old_version()
Expand All @@ -848,11 +843,11 @@ def check_for_update(self):
self.spansh_updater = SpanshUpdater(response.text, self.plugin_dir)

else:
sys.stderr.write("Could not query latest SpanshRouter version: " + str(response.status_code) + response.text)
logger.warning(f"Could not query latest SpanshRouter version, code: {str(response.status_code)}; text: {response.text}")
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))

def install_update(self):
self.spansh_updater.install()
20 changes: 14 additions & 6 deletions SpanshRouter/updater.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@
import traceback
import json

import logging
from config import appname

# We need a name of plugin dir, not SpanshRouter.py dir
plugin_name = os.path.basename(os.path.dirname(os.path.dirname(__file__)))
logger = logging.getLogger(f'{appname}.{plugin_name}')


class SpanshUpdater():
def __init__(self, version, plugin_dir):
self.version = version
Expand All @@ -21,16 +29,16 @@ def download_zip(self):
r = requests.get(url)
if r.status_code == 200:
with open(self.zip_path, 'wb') as f:
print("Downloading SpanshRouter to " + self.zip_path)
logger.info(f"Downloading SpanshRouter to {self.zip_path}")
f.write(os.path.join(r.content))
self.zip_downloaded = True
else:
sys.stderr.write("Failed to fetch SpanchRouter update. Status code: " + str(r.status_code))
logger.warning("Failed to fetch SpanchRouter update. Status code: " + str(r.status_code))
self.zip_downloaded = False
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))
self.zip_downloaded = False
finally:
return self.zip_downloaded
Expand All @@ -45,9 +53,9 @@ def install(self):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))
else:
sys.stderr.write("Error when downloading the latest SpanshRouter update")
logger.warning("Error when downloading the latest SpanshRouter update")

def get_changelog(self):
url = "https://api.github.com/repos/CMDR-Kiel42/EDMC_SpanshRouter/releases/latest"
Expand All @@ -63,4 +71,4 @@ def get_changelog(self):
except:
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
sys.stderr.write(''.join('!! ' + line for line in lines))
logger.warning(''.join('!! ' + line for line in lines))