Files
2021-05-05 23:42:59 +02:00

88 lines
2.2 KiB
Python

import sys
import requests
import tkinter as tk
import myNotebook as nb
from config import config
this = sys.modules[__name__] # For holding module globals
def plugin_start3(plugin_dir):
"""
Plugin is loaded
"""
return "EDCompanion"
def plugin_stop():
"""
EDMC is closing
"""
pass
def plugin_prefs(parent, cmdr, is_beta):
"""
Return a TK Frame for adding to the EDMC settings dialog.
"""
PADX = 10
BUTTONX = 12 # indent Checkbuttons and Radiobuttons
PADY = 2 # close spacing
frame = nb.Frame(parent)
this.apikey_label = nb.Label(frame, text='API Key') # EDSM setting
this.apikey_label.grid(row=12, padx=PADX, sticky=tk.W)
this.apikey = nb.Entry(frame)
this.apikey.grid(row=12, column=1, padx=PADX, pady=PADY, sticky=tk.EW)
prefs_cmdr_changed(cmdr, is_beta)
return frame
def prefs_cmdr_changed(cmdr, is_beta):
this.apikey['state'] = tk.NORMAL
this.apikey.delete(0, tk.END)
if cmdr:
cred = credentials(cmdr)
if cred:
this.apikey.insert(0, cred)
def prefs_changed(cmdr, is_beta):
"""
Save settings.
"""
if cmdr and not is_beta:
this.cmdr = cmdr
this.FID = None
cmdrs = config.get('edcompanion_cmdrs') or []
apikeys = config.get('edcompanion_apikeys') or []
if cmdr in cmdrs:
idx = cmdrs.index(cmdr)
apikeys.extend([''] * (1 + idx - len(apikeys)))
apikeys[idx] = this.apikey.get().strip()
else:
config.set('edcompanion_cmdrs', cmdrs + [cmdr])
apikeys.append(this.apikey.get().strip())
config.set('edcompanion_apikeys', apikeys)
def credentials(cmdr):
# Credentials for cmdr
if not cmdr:
return None
cmdrs = config.get('edcompanion_cmdrs') or []
if cmdr in cmdrs and config.get('edcompanion_apikeys'):
return config.get('edcompanion_apikeys')[cmdrs.index(cmdr)]
else:
return None
def journal_entry(cmdr, is_beta, system, station, entry, state):
cred = credentials(cmdr)
if cred and not is_beta:
del state['Friends']
requests.post("http://192.168.178.29:8080/update/status/" + cred, json=state)