Mercurial > code > home > repos > light9
view light9/run_local.py @ 2096:0e7d8349087c
WIP port effectSequencer to asyncio
author | drewp@bigasterisk.com |
---|---|
date | Tue, 31 May 2022 00:13:20 -0700 |
parents | 53dd7eb024c9 |
children | e1233a04dc2d |
line wrap: on
line source
# bootstrap import sys, os, socket from twisted.python.failure import Failure try: import tkinter except ImportError: pass else: 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 if 0: from IPython.core import ultratb sys.excepthook = ultratb.FormattedTB(mode='Verbose', color_scheme='Linux', call_pdb=1) progName = sys.argv[0].split('/')[-1] log = logging.getLogger() # this has to get the root logger log.name = progName # but we can rename it for clarity class FractionTimeFilter(logging.Filter): def filter(self, record): record.fractionTime = ( time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(record.created)) + ("%.3f" % (record.created % 1)).lstrip('0')) # Don't filter the record. return 1 coloredlogs.install( level='DEBUG', fmt='%(fractionTime)s %(name)s[%(process)d] %(levelname)s %(message)s') logging.getLogger().handlers[0].addFilter(FractionTimeFilter()) def setTerminalTitle(s): if os.environ.get('TERM', '') in ['xterm', 'rxvt', 'rxvt-unicode-256color']: print("\033]0;%s\007" % s) # not escaped/protected correctly if 'listsongs' not in sys.argv[0] and 'homepageConfig' not in sys.argv[0]: setTerminalTitle( '[%s] %s' % (socket.gethostname(), ' '.join(sys.argv).replace('bin/', ''))) # see http://www.youtube.com/watch?v=3cIOT9kM--g for commands that make # profiles and set background images