mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-14 16:27:13 +03:00
Obtain Cmdr from API for migration
This commit is contained in:
parent
ce744a11b0
commit
94db336aa6
@ -275,6 +275,15 @@ class AppWindow:
|
||||
if not getattr(sys, 'frozen', False):
|
||||
self.updater.checkForUpdates() # Sparkle / WinSparkle does this automatically for packaged apps
|
||||
|
||||
# Migration from <= 2.25
|
||||
if not config.get('cmdrs') and config.get('username') and config.get('password'):
|
||||
try:
|
||||
self.session.login(config.get('username'), config.get('password'))
|
||||
data = self.session.query()
|
||||
prefs.migrate(data['commander']['name'])
|
||||
except:
|
||||
if __debug__: print_exc()
|
||||
|
||||
self.postprefs() # Companion login happens in callback from monitor
|
||||
|
||||
# Try to obtain exclusive lock on journal cache, even if we don't need it yet
|
||||
@ -332,7 +341,7 @@ class AppWindow:
|
||||
self.button['state'] = self.theme_button['state'] = tk.DISABLED
|
||||
self.w.update_idletasks()
|
||||
try:
|
||||
if not monitor.cmdr or monitor.cmdr not in config.get('cmdrs'):
|
||||
if not monitor.cmdr or not config.get('cmdrs') or monitor.cmdr not in config.get('cmdrs'):
|
||||
raise companion.CredentialsError()
|
||||
idx = config.get('cmdrs').index(monitor.cmdr)
|
||||
self.session.login(config.get('fdev_usernames')[idx], config.get('fdev_passwords')[idx])
|
||||
@ -563,18 +572,6 @@ class AppWindow:
|
||||
self.edsm.link(monitor.system)
|
||||
self.w.update_idletasks()
|
||||
|
||||
# New Cmdr?
|
||||
if entry['event'] in [None, 'NewCommander', 'LoadGame'] and monitor.cmdr and not monitor.is_beta:
|
||||
prefs.migrate(monitor.cmdr) # migration from <= 2.25
|
||||
if config.get('cmdrs') and monitor.cmdr in config.get('cmdrs'):
|
||||
prefs.make_current(monitor.cmdr)
|
||||
elif config.get('cmdrs') and entry['event'] == 'NewCommander':
|
||||
cmdrs = config.get('cmdrs')
|
||||
cmdrs[0] = monitor.cmdr # New Cmdr uses same credentials as old
|
||||
config.set('cmdrs', cmdrs)
|
||||
else:
|
||||
prefs.PreferencesDialog(self.w, self.postprefs) # First run or new Cmdr
|
||||
|
||||
# Send interesting events to EDSM
|
||||
if config.getint('output') & config.OUT_SYS_EDSM and not monitor.is_beta:
|
||||
self.status['text'] = _('Sending data to EDSM...')
|
||||
@ -617,8 +614,16 @@ class AppWindow:
|
||||
self.edsmpoll()
|
||||
|
||||
# Companion login - do this after EDSM so any EDSM errors don't mask login errors
|
||||
if entry['event'] in [None, 'LoadGame'] and monitor.cmdr and not monitor.is_beta:
|
||||
self.login()
|
||||
if entry['event'] in [None, 'NewCommander', 'LoadGame'] and monitor.cmdr and not monitor.is_beta:
|
||||
if config.get('cmdrs') and monitor.cmdr in config.get('cmdrs'):
|
||||
prefs.make_current(monitor.cmdr)
|
||||
self.login()
|
||||
elif config.get('cmdrs') and entry['event'] == 'NewCommander':
|
||||
cmdrs = config.get('cmdrs')
|
||||
cmdrs[0] = monitor.cmdr # New Cmdr uses same credentials as old
|
||||
config.set('cmdrs', cmdrs)
|
||||
else:
|
||||
prefs.PreferencesDialog(self.w, self.postprefs) # First run or failed migration
|
||||
|
||||
if not entry['event'] or not monitor.mode:
|
||||
return # Startup or in CQC
|
||||
|
22
prefs.py
22
prefs.py
@ -341,24 +341,26 @@ class PreferencesDialog(tk.Toplevel):
|
||||
self.cmdr_text['text'] = self.edsm_cmdr_text['text'] = monitor.cmdr and monitor.is_beta and ('%s [Beta]' % monitor.cmdr) or monitor.cmdr or _('None') # No hotkey/shortcut currently defined
|
||||
if self.cmdr != monitor.cmdr:
|
||||
# Cmdr has changed - update settings
|
||||
if not monitor.is_beta:
|
||||
migrate(monitor.cmdr) # migration from <= 2.25
|
||||
if monitor.cmdr and config.get('cmdrs') and monitor.cmdr in config.get('cmdrs'):
|
||||
config_idx = config.get('cmdrs').index(monitor.cmdr)
|
||||
else:
|
||||
config_idx = None
|
||||
self.username['state'] = tk.NORMAL
|
||||
self.username.delete(0, tk.END)
|
||||
self.username.insert(0, config_idx is not None and config.get('fdev_usernames')[config_idx] or '')
|
||||
self.password['state'] = tk.NORMAL
|
||||
self.password.delete(0, tk.END)
|
||||
self.password.insert(0, config_idx is not None and config.get('fdev_passwords')[config_idx] or '')
|
||||
self.edsm_user['state'] = tk.NORMAL
|
||||
self.edsm_user.delete(0, tk.END)
|
||||
self.edsm_user.insert(0, config_idx is not None and config.get('edsm_usernames')[config_idx] or '')
|
||||
self.edsm_apikey['state'] = tk.NORMAL
|
||||
self.edsm_apikey.delete(0, tk.END)
|
||||
self.edsm_apikey.insert(0, config_idx is not None and config.get('edsm_apikeys')[config_idx] or '')
|
||||
if monitor.cmdr and config.get('cmdrs') and monitor.cmdr in config.get('cmdrs'):
|
||||
config_idx = config.get('cmdrs').index(monitor.cmdr)
|
||||
self.username.insert(0, config.get('fdev_usernames')[config_idx] or '')
|
||||
self.password.insert(0, config.get('fdev_passwords')[config_idx] or '')
|
||||
self.edsm_user.insert(0, config.get('edsm_usernames')[config_idx] or '')
|
||||
self.edsm_apikey.insert(0, config.get('edsm_apikeys')[config_idx] or '')
|
||||
elif monitor.cmdr and not config.get('cmdrs') and config.get('username') and config.get('password'):
|
||||
# migration from <= 2.25
|
||||
self.username.insert(0, config.get('username')[config_idx] or '')
|
||||
self.password.insert(0, config.get('password')[config_idx] or '')
|
||||
self.edsm_user.insert(0,config.get('edsm_cmdrname')[config_idx] or '')
|
||||
self.edsm_apikey.insert(0, config.get('edsm_apikey')[config_idx] or '')
|
||||
self.cmdr = monitor.cmdr
|
||||
|
||||
cmdr_state = not monitor.is_beta and monitor.cmdr and tk.NORMAL or tk.DISABLED
|
||||
|
Loading…
x
Reference in New Issue
Block a user