diff --git a/EDMarketConnector.py b/EDMarketConnector.py index 2dbafe39..95ad2300 100755 --- a/EDMarketConnector.py +++ b/EDMarketConnector.py @@ -135,8 +135,8 @@ class AppWindow: self.system.grid(row=3, column=1, sticky=tk.EW) self.station.grid(row=4, column=1, sticky=tk.EW) - for plugname in plug.PLUGINS: - appitem = plug.get_plugin_app(plugname, frame) + for plugin in plug.PLUGINS: + appitem = plugin.get_app(frame) if appitem: if isinstance(appitem, tuple) and len(appitem)==2: row = frame.grid_size()[1] @@ -489,7 +489,7 @@ class AppWindow: self.edit_menu.entryconfigure(0, state=tk.NORMAL) # Copy # stuff we can do when not docked - plug.notify_newdata(data) + self.status['text'] = plug.notify_newdata(data) or '' if config.getint('output') & config.OUT_SHIP: loadout.export(data) @@ -733,7 +733,9 @@ class AppWindow: return # Startup or in CQC # Plugins - plug.notify_journal_entry(monitor.cmdr, monitor.system, monitor.station, entry, monitor.state) + err = plug.notify_journal_entry(monitor.cmdr, monitor.system, monitor.station, entry, monitor.state) + if err: + self.status['text'] = err if entry['event'] in ['StartUp', 'LoadGame'] and monitor.started: # Can start interaction monitoring @@ -814,7 +816,9 @@ class AppWindow: return # Currently we don't do anything with these events - plug.notify_interaction(monitor.cmdr, entry) + err = plug.notify_interaction(monitor.cmdr, entry) + if err: + self.status['text'] = err def edsmpoll(self): result = self.edsm.result diff --git a/config.py b/config.py index 450b7ea9..1a1ccf03 100644 --- a/config.py +++ b/config.py @@ -123,6 +123,8 @@ class Config: if not isdir(self.plugin_dir): mkdir(self.plugin_dir) + self.internal_plugin_dir = getattr(sys, 'frozen', False) and normpath(join(dirname(sys.executable), pardir, 'Resources')) or join(dirname(__file__), 'plugins') + self.default_journal_dir = join(NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, True)[0], 'Frontier Developments', 'Elite Dangerous') self.default_interaction_dir = join(self.default_journal_dir, 'CommanderHistory') @@ -183,6 +185,8 @@ class Config: if not isdir(self.plugin_dir): mkdir(self.plugin_dir) + self.internal_plugin_dir = getattr(sys, 'frozen', False) and dirname(sys.executable) or join(dirname(__file__), 'plugins') + # expanduser in Python 2 on Windows doesn't handle non-ASCII - http://bugs.python.org/issue13207 self.home = KnownFolderPath(FOLDERID_Profile) or u'\\' @@ -282,6 +286,8 @@ class Config: if not isdir(self.plugin_dir): mkdir(self.plugin_dir) + self.internal_plugin_dir = join(dirname(__file__), 'plugins') + self.default_journal_dir = None self.default_interaction_dir = None diff --git a/l10n.py b/l10n.py index 71b745f4..61c82bb2 100755 --- a/l10n.py +++ b/l10n.py @@ -6,7 +6,7 @@ import codecs from collections import OrderedDict import os -from os.path import dirname, isfile, join, normpath +from os.path import basename, dirname, isfile, join, normpath import re import sys from sys import platform @@ -166,14 +166,15 @@ if __name__ == "__main__": import re regexp = re.compile(r'''_\([ur]?(['"])(((?