Files
@ a232bc895568
Branch filter:
Location: light9/bin/run_local.py - annotation
a232bc895568
1.3 KiB
text/x-python
new sub effects get effect labels
Ignore-this: 46c2d8adf10e4af749cc94b73e8da43a
Ignore-this: 46c2d8adf10e4af749cc94b73e8da43a
1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e 41830567a8d0 1a84c5e83d3e 41830567a8d0 41830567a8d0 41830567a8d0 41830567a8d0 41830567a8d0 41830567a8d0 41830567a8d0 41830567a8d0 41830567a8d0 1f877950ad28 1f877950ad28 1f877950ad28 1f877950ad28 1f877950ad28 1f877950ad28 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 1f93e5d19f8a 8435e3ee1ec2 770b0d0005fc 8435e3ee1ec2 167a61d3cfbf 59f1898cec60 59f1898cec60 f92550d33004 f92550d33004 f92550d33004 | # allows bin/* to work without installation
# this should be turned off when the programs are installed
import sys,os
sys.path.insert(0,os.path.join(os.path.dirname(sys.argv[0]),".."))
from twisted.python.failure import Failure
import Tkinter
def rce(self, exc, val, tb):
sys.stderr.write("Exception in Tkinter callback\n")
if True:
sys.excepthook(exc, val, tb)
else:
Failure(val, exc, tb).printDetailedTraceback()
Tkinter.Tk.report_callback_exception = rce
import coloredlogs, logging, time
try:
import faulthandler
faulthandler.enable()
except ImportError:
pass
log = logging.getLogger()
class CSH(coloredlogs.ColoredStreamHandler):
def render_timestamp(self, created):
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(created)) + (
"%.3f" % (created % 1)).lstrip('0')
def render_name(self, name):
return name
log.addHandler(CSH(show_hostname=False, show_name=True))
def setTerminalTitle(s):
if os.environ.get('TERM', '') in ['xterm', 'rxvt']:
print "\033]0;%s\007" % s # not escaped/protected correctly
if 'listsongs' not in sys.argv[0]:
setTerminalTitle(sys.argv[0])
# see http://www.youtube.com/watch?v=3cIOT9kM--g for commands that make
# profiles and set background images
|