diff --git a/EDMarketConnector.py b/EDMarketConnector.py index 81008191..b3711b6b 100755 --- a/EDMarketConnector.py +++ b/EDMarketConnector.py @@ -244,6 +244,7 @@ class AppWindow: def verify(self, code): try: self.session.verify(code) + config.save() # Save settings now for use by command-line app except Exception as e: if __debug__: print_exc() self.button['state'] = tk.NORMAL diff --git a/companion.py b/companion.py index d5b247c6..ee80a1f6 100644 --- a/companion.py +++ b/companion.py @@ -202,6 +202,7 @@ class Session: # verification doesn't actually return a yes/no, so log in again to determine state try: self.login() + self.save() # Save cookies now for use by command-line app except: pass @@ -234,6 +235,9 @@ class Session: return data + def save(self): + self.session.cookies.save() + def close(self): self.state = Session.STATE_NONE try: diff --git a/config.py b/config.py index e2611d34..d0fedbd4 100644 --- a/config.py +++ b/config.py @@ -119,9 +119,12 @@ class Config: def set(self, key, val): self.settings[key] = val - def close(self): + def save(self): self.defaults.setPersistentDomain_forName_(self.settings, self.bundle) self.defaults.synchronize() + + def close(self): + self.save() self.defaults = None elif platform=='win32': @@ -200,6 +203,9 @@ class Config: else: raise NotImplementedError() + def save(self): + pass # Redundant since registry keys are written immediately + def close(self): RegCloseKey(self.hkey) self.hkey = None @@ -247,10 +253,13 @@ class Config: except: return 0 - def close(self): + def save(self): h = codecs.open(self.filename, 'w', 'utf-8') h.write(unicode(self.config.data)) h.close() + + def close(self): + self.save() self.config = None else: # ???