Mercurial > code > home > repos > light9
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 |
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 | 34 def setTerminalTitle(s): |
35 if os.environ.get('TERM', '') in ['xterm']: | |
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 | 40 |
41 # see http://www.youtube.com/watch?v=3cIOT9kM--g for commands that make | |
42 # profiles and set background images |