Force shutdown, fix cx_Freeze startup
This commit is contained in:
parent
9fb8e67164
commit
aaf80f4e2d
43
FAHControl
43
FAHControl
@ -36,21 +36,20 @@ def set_proc_name(name):
|
|||||||
libc.prctl(15, byref(buff), 0, 0, 0)
|
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 present, remove the Launch Services -psn_xxx_xxx argument
|
||||||
if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
|
if len(sys.argv) > 1 and sys.argv[1][:4] == '-psn':
|
||||||
del sys.argv[1]
|
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')
|
action = 'store_true', dest = 'exit')
|
||||||
options, args = parser.parse_args()
|
options, args = parser.parse_args()
|
||||||
|
|
||||||
# Tell app to exit
|
# Tell app to exit
|
||||||
if options.exit:
|
if options.exit:
|
||||||
try:
|
try:
|
||||||
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
sock.connect(single_app_addr)
|
sock.connect(single_app_addr)
|
||||||
@ -60,23 +59,23 @@ if __name__ == '__main__':
|
|||||||
|
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
# Add executable path to PATH
|
# Add executable path to PATH
|
||||||
if getattr(sys, 'frozen', False): path = os.path.dirname(sys.executable)
|
if getattr(sys, 'frozen', False): path = os.path.dirname(sys.executable)
|
||||||
else: path = os.path.dirname(__file__)
|
else: path = os.path.dirname(__file__)
|
||||||
path = os.path.realpath(path)
|
path = os.path.realpath(path)
|
||||||
os.environ['PATH'] = path + os.pathsep + os.environ['PATH']
|
os.environ['PATH'] = path + os.pathsep + os.environ['PATH']
|
||||||
|
|
||||||
# Load Glade
|
# Load Glade
|
||||||
dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
|
dir = os.path.dirname(inspect.getfile(inspect.currentframe()))
|
||||||
if not dir: dir = '.'
|
if not dir: dir = '.'
|
||||||
glade = dir + '/fah/FAHControl.glade'
|
glade = dir + '/fah/FAHControl.glade'
|
||||||
|
|
||||||
if os.path.exists(glade): app = FAHControl(glade)
|
if os.path.exists(glade): app = FAHControl(glade)
|
||||||
else:
|
else:
|
||||||
from fah.FAHControl_glade import glade_data
|
from fah.FAHControl_glade import glade_data
|
||||||
app = FAHControl(glade_data)
|
app = FAHControl(glade_data)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
app.run()
|
app.run()
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
print e
|
print e
|
||||||
|
@ -710,7 +710,7 @@ class FAHControl(SingleAppServer):
|
|||||||
self.db.flush_queued()
|
self.db.flush_queued()
|
||||||
except Exception, e: print e
|
except Exception, e: print e
|
||||||
|
|
||||||
self.shutdown() # Shutdown SingleAppServer
|
sys.exit(0) # Force shutdown
|
||||||
|
|
||||||
|
|
||||||
def set_status(self, text):
|
def set_status(self, text):
|
||||||
|
1
setup.py
1
setup.py
@ -67,6 +67,7 @@ if sys.platform == 'darwin':
|
|||||||
elif sys.platform == 'win32':
|
elif sys.platform == 'win32':
|
||||||
from cx_Freeze import setup, Executable
|
from cx_Freeze import setup, Executable
|
||||||
|
|
||||||
|
# Change base to 'Console' for debugging
|
||||||
e = Executable(app, base = 'Win32GUI', icon = 'images/FAHControl.ico')
|
e = Executable(app, base = 'Win32GUI', icon = 'images/FAHControl.ico')
|
||||||
options = {
|
options = {
|
||||||
'build_exe': {
|
'build_exe': {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user