mirror of
https://github.com/EDCD/EDMarketConnector.git
synced 2025-04-13 07:47:14 +03:00
parent
021fc43345
commit
5a9d0730d8
@ -30,7 +30,7 @@ from config import appname, applongname, config
|
||||
if platform == 'win32' and getattr(sys, 'frozen', False):
|
||||
# By default py2exe tries to write log to dirname(sys.executable) which fails when installed
|
||||
import tempfile
|
||||
sys.stderr = open(join(tempfile.gettempdir(), '%s.log' % appname), 'wt')
|
||||
sys.stdout = sys.stderr = open(join(tempfile.gettempdir(), '%s.log' % appname), 'wt', 0) # unbuffered
|
||||
|
||||
from l10n import Translations
|
||||
Translations().install(config.get('language') or None)
|
||||
@ -690,13 +690,15 @@ class AppWindow:
|
||||
self.status['text'] = unicode(e)
|
||||
|
||||
def onexit(self, event=None):
|
||||
hotkeymgr.unregister()
|
||||
if platform!='darwin' or self.w.winfo_rooty()>0: # http://core.tcl.tk/tk/tktview/c84f660833546b1b84e7
|
||||
config.set('geometry', '+{1}+{2}'.format(*self.w.geometry().split('+')))
|
||||
config.close()
|
||||
self.w.withdraw() # Following items can take a few seconds, so hide the main window while they happen
|
||||
hotkeymgr.unregister()
|
||||
monitor.close()
|
||||
eddn.close()
|
||||
self.updater.close()
|
||||
self.session.close()
|
||||
config.close()
|
||||
self.w.destroy()
|
||||
|
||||
def drag_start(self, event):
|
||||
|
12
monitor.py
12
monitor.py
@ -119,7 +119,6 @@ class EDLogs(FileSystemEventHandler):
|
||||
self.observer = Observer()
|
||||
self.observer.daemon = True
|
||||
self.observer.start()
|
||||
atexit.register(self.observer.stop)
|
||||
|
||||
if not self.observed and not polling:
|
||||
self.observed = self.observer.schedule(self, self.currentdir)
|
||||
@ -146,6 +145,17 @@ class EDLogs(FileSystemEventHandler):
|
||||
self.observer.unschedule_all()
|
||||
self.thread = None # Orphan the worker thread - will terminate at next poll
|
||||
|
||||
def close(self):
|
||||
thread = self.thread
|
||||
self.stop()
|
||||
if self.observer:
|
||||
self.observer.stop()
|
||||
if thread:
|
||||
thread.join()
|
||||
if self.observer:
|
||||
self.observer.join()
|
||||
self.observer = None
|
||||
|
||||
def running(self):
|
||||
return self.thread and self.thread.is_alive()
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user