1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-05-12 21:26:33 +03:00
2017-03-01 01:25:51 +00:00

79 lines
2.2 KiB
Python

"""
A Skeleton EDMC Plugin
"""
import sys
import ttk
import Tkinter as tk
from config import applongname, appversion
import myNotebook as nb
def plugin_start():
"""
Start this plugin
:return: Plugin name
"""
sys.stderr.write("example plugin started\n") # appears in %TMP%/EDMarketConnector.log in packaged Windows app
return 'About'
def plugin_prefs(parent):
"""
Return a TK Frame for adding to the EDMC settings dialog.
"""
frame = nb.Frame(parent)
nb.Label(frame, text="{NAME} {VER}".format(NAME=applongname, VER=appversion)).grid(sticky=tk.W)
nb.Label(frame).grid() # spacer
nb.Label(frame, text="Fly Safe!").grid(sticky=tk.W)
nb.Label(frame).grid() # spacer
if cmdr_data.last is not None:
datalen = len(str(cmdr_data.last))
nb.Label(frame, text="FD sent {} chars".format(datalen)).grid(sticky=tk.W)
return frame
def plugin_app(parent):
"""
Return a TK Widget for the EDMC main window.
:param parent:
:return:
"""
plugin_app.status = tk.Label(parent, text="---")
return plugin_app.status
def journal_entry(cmdr, system, station, entry, state):
"""
E:D client made a journal entry
:param cmdr: The Cmdr name, or None if not yet known
:param system: The current system, or None if not yet known
:param station: The current station, or None if not docked or not yet known
:param entry: The journal entry as a dictionary
:param state: A dictionary containing info about the Cmdr, current ship and cargo
:return:
"""
if entry['event'] == 'FSDJump':
# We arrived at a new system!
if 'StarPos' in entry:
sys.stderr.write("Arrived at {} ({},{},{})\n".format(entry['StarSystem'], *tuple(entry['StarPos'])))
else:
sys.stderr.write("Arrived at {}\n".format(entry['StarSystem']))
def cmdr_data(data):
"""
Obtained new data from Frontier about our commander, location and ships
:param data:
:return:
"""
cmdr_data.last = data
plugin_app.status['text'] = "Got new data ({} chars)".format(len(str(data)))
sys.stderr.write("Got new data ({} chars)\n".format(len(str(data))))
cmdr_data.last = None