Changeset - 53dd7eb024c9
[Not reviewed]
default
0 1 1
drewp@bigasterisk.com - 3 years ago 2022-05-11 07:03:44
drewp@bigasterisk.com
relocate run_local.py
2 files changed with 5 insertions and 73 deletions:
0 comments (0 inline, 0 general)
bin/run_local.py
Show inline comments
 
# allows bin/* to work without installation
 

	
 
# this should be turned off when the programs are installed
 
# this file can go away when all the bin/* are just launchers and everyone uses light9/run_local
 

	
 
import sys, os, socket
 
import sys
 

	
 
from twisted.python.failure import Failure
 

	
 
# to support 'import light9' until I rearrange things better:
 
# to support 'import light9'
 
sys.path.append('.')
 

	
 
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
 
from light9.run_local import log
light9/run_local.py
Show inline comments
 
file copied from bin/run_local.py to light9/run_local.py
 
# allows bin/* to work without installation
 

	
 
# this should be turned off when the programs are installed
 
# bootstrap
 

	
 
import sys, os, socket
 

	
 
from twisted.python.failure import Failure
 

	
 
# to support 'import light9' until I rearrange things better:
 
sys.path.append('.')
 

	
 
try:
 
    import tkinter
 
except ImportError:
 
    pass
 
else:
0 comments (0 inline, 0 general)