annotate bin/run_local.py @ 1072:e6121f8a9f87

always use faulthandler.enable(). so cool Ignore-this: 4305391ff16141c9b223e7b2ecb6140b
author Drew Perttula <drewp@bigasterisk.com>
date Tue, 03 Jun 2014 04:57:56 +0000
parents 59f1898cec60
children 1f877950ad28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
209
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
1 # allows bin/* to work without installation
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
2
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
3 # this should be turned off when the programs are installed
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
4
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
5 import sys,os
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
6 sys.path.insert(0,os.path.join(os.path.dirname(sys.argv[0]),".."))
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
7
306
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
8 from twisted.python.failure import Failure
209
1a84c5e83d3e dmxserver and subcomposer work in new layout
drewp@bigasterisk.com
parents:
diff changeset
9
306
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
10 import Tkinter
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
11 def rce(self, exc, val, tb):
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
12 sys.stderr.write("Exception in Tkinter callback\n")
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
13 if True:
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
14 sys.excepthook(exc, val, tb)
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
15 else:
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
16 Failure(val, exc, tb).printDetailedTraceback()
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
17 Tkinter.Tk.report_callback_exception = rce
41830567a8d0 bigger traceback printouts for all tools
Drew Perttula <drewp@bigasterisk.com>
parents: 209
diff changeset
18
1072
e6121f8a9f87 always use faulthandler.enable(). so cool
Drew Perttula <drewp@bigasterisk.com>
parents: 952
diff changeset
19 import coloredlogs, logging, time, faulthandler
e6121f8a9f87 always use faulthandler.enable(). so cool
Drew Perttula <drewp@bigasterisk.com>
parents: 952
diff changeset
20 faulthandler.enable()
858
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
21 log = logging.getLogger()
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
22
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
23 class CSH(coloredlogs.ColoredStreamHandler):
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
24 def render_timestamp(self, created):
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
25 return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(created)) + (
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
26 "%.3f" % (created % 1)).lstrip('0')
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
27
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
28 def render_name(self, name):
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
29 return name
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
30
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
31 log.addHandler(CSH(show_hostname=False, show_name=True))
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
32
1f93e5d19f8a merge run_local again
Drew Perttula <drewp@bigasterisk.com>
parents: 837
diff changeset
33
933
8435e3ee1ec2 put program name in terminal title
drewp@bigasterisk.com
parents: 874
diff changeset
34 def setTerminalTitle(s):
8435e3ee1ec2 put program name in terminal title
drewp@bigasterisk.com
parents: 874
diff changeset
35 if os.environ.get('TERM', '') in ['xterm']:
8435e3ee1ec2 put program name in terminal title
drewp@bigasterisk.com
parents: 874
diff changeset
36 print "\033]0;%s\007" % s # not escaped/protected correctly
874
167a61d3cfbf subcomposer put local subs into the graph with a type edge.
Drew Perttula <drewp@bigasterisk.com>
parents: 873
diff changeset
37
952
59f1898cec60 except bin/listsongs from the titlebar trick, since its output is used for cmdline completion
drewp@bigasterisk.com
parents: 934
diff changeset
38 if 'listsongs' not in sys.argv[0]:
59f1898cec60 except bin/listsongs from the titlebar trick, since its output is used for cmdline completion
drewp@bigasterisk.com
parents: 934
diff changeset
39 setTerminalTitle(sys.argv[0])
934
f92550d33004 comment
drewp@bigasterisk.com
parents: 933
diff changeset
40
f92550d33004 comment
drewp@bigasterisk.com
parents: 933
diff changeset
41 # see http://www.youtube.com/watch?v=3cIOT9kM--g for commands that make
f92550d33004 comment
drewp@bigasterisk.com
parents: 933
diff changeset
42 # profiles and set background images