Force shutdown, fix cx_Freeze startup

This commit is contained in:
Joseph Coffland 2016-12-16 10:33:29 -08:00
parent 9fb8e67164
commit aaf80f4e2d
4 changed files with 45 additions and 45 deletions

View File

@ -36,21 +36,20 @@ def set_proc_name(name):
libc.prctl(15, byref(buff), 0, 0, 0)
if __name__ == '__main__':
if sys.platform.startswith('linux'): set_proc_name('FAHControl')
if sys.platform.startswith('linux'): set_proc_name('FAHControl')
# If present, remove the Launch Services -psn_xxx_xxx argument
if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
# If present, remove the Launch Services -psn_xxx_xxx argument
if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
del sys.argv[1]
parser = OptionParser(usage = 'Usage: %prog [options]')
parser = OptionParser(usage = 'Usage: %prog [options]')
parser.add_option('--exit', help = 'Tell the running application to exit',
parser.add_option('--exit', help = 'Tell the running application to exit',
action = 'store_true', dest = 'exit')
options, args = parser.parse_args()
options, args = parser.parse_args()
# Tell app to exit
if options.exit:
# Tell app to exit
if options.exit:
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect(single_app_addr)
@ -60,23 +59,23 @@ if __name__ == '__main__':
sys.exit(0)
# Add executable path to PATH
if getattr(sys, 'frozen', False): path = os.path.dirname(sys.executable)
else: path = os.path.dirname(__file__)
path = os.path.realpath(path)
os.environ['PATH'] = path + os.pathsep + os.environ['PATH']
# Add executable path to PATH
if getattr(sys, 'frozen', False): path = os.path.dirname(sys.executable)
else: path = os.path.dirname(__file__)
path = os.path.realpath(path)
os.environ['PATH'] = path + os.pathsep + os.environ['PATH']
# Load Glade
dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
if not dir: dir = '.'
glade = dir + '/fah/FAHControl.glade'
# Load Glade
dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
if not dir: dir = '.'
glade = dir + '/fah/FAHControl.glade'
if os.path.exists(glade): app = FAHControl(glade)
else:
if os.path.exists(glade): app = FAHControl(glade)
else:
from fah.FAHControl_glade import glade_data
app = FAHControl(glade_data)
try:
try:
app.run()
except Exception, e:
except Exception, e:
print e

View File

@ -710,7 +710,7 @@ class FAHControl(SingleAppServer):
self.db.flush_queued()
except Exception, e: print e
self.shutdown() # Shutdown SingleAppServer
sys.exit(0) # Force shutdown
def set_status(self, text):

View File

@ -67,6 +67,7 @@ if sys.platform == 'darwin':
elif sys.platform == 'win32':
from cx_Freeze import setup, Executable
# Change base to 'Console' for debugging
e = Executable(app, base = 'Win32GUI', icon = 'images/FAHControl.ico')
options = {
'build_exe': {