Files
@ 84adc69fdf8a
Branch filter:
Location: light9/bin/run_local.py - annotation
84adc69fdf8a
3.5 KiB
text/x-python
fix inlineattrs setup and effect editing
Ignore-this: f5d5089ab5550815158fcdbaa79d71f1
Ignore-this: f5d5089ab5550815158fcdbaa79d71f1
1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e 1a84c5e83d3e f66586649ae3 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 5c04a54df635 1a84c5e83d3e 41830567a8d0 1a84c5e83d3e 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 0025b04a1c0a 41830567a8d0 1f877950ad28 1f877950ad28 1f877950ad28 1f877950ad28 1f877950ad28 1f877950ad28 8e8d778f9e21 8e8d778f9e21 3c78608a216a 3c78608a216a 3c78608a216a 3693b226b0b8 3693b226b0b8 3693b226b0b8 3693b226b0b8 3693b226b0b8 3693b226b0b8 3693b226b0b8 1f93e5d19f8a 3693b226b0b8 3693b226b0b8 3693b226b0b8 3693b226b0b8 1f93e5d19f8a 1f93e5d19f8a 8435e3ee1ec2 8796803a1b45 8435e3ee1ec2 167a61d3cfbf 0d295af23c4b 8796803a1b45 f92550d33004 f92550d33004 f92550d33004 | # allows bin/* to work without installation
# this should be turned off when the programs are installed
import sys, os, socket
def fixSysPath():
root = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), '..')) + '/'
# this is site-packages/zope.interface-4.5.0-py2.7-nspkg.pth,
# slightly edited.
import types
has_mfs = sys.version_info > (3, 5);
p = root + 'env/local/lib/python2.7/site-packages/zope'
importlib = has_mfs and __import__('importlib.util');
has_mfs and __import__('importlib.machinery');
m = has_mfs and sys.modules.setdefault(
'zope', importlib.util.module_from_spec(
importlib.machinery.PathFinder.find_spec(
'zope', [os.path.dirname(p)])));
m = m or sys.modules.setdefault('zope', types.ModuleType('zope'));
mp = (m or []) and m.__dict__.setdefault('__path__',[]);
(p not in mp) and mp.append(p)
p = root + 'env/local/lib/python2.7/site-packages/greplin'
importlib = has_mfs and __import__('importlib.util');
has_mfs and __import__('importlib.machinery');
m = has_mfs and sys.modules.setdefault('greplin', importlib.util.module_from_spec(importlib.machinery.PathFinder.find_spec('greplin', [os.path.dirname(p)])));
m = m or sys.modules.setdefault('greplin', types.ModuleType('greplin'));
mp = (m or []) and m.__dict__.setdefault('__path__',[]);
(p not in mp) and mp.append(p)
sys.path = [
root,
root + 'env/lib/python2.7',
root + 'env/lib/python2.7/plat-x86_64-linux-gnu',
root + 'env/lib/python2.7/lib-tk',
root + 'env/lib/python2.7/lib-old',
root + 'env/lib/python2.7/lib-dynload',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
root + 'env/local/lib/python2.7/site-packages',
root + 'env/local/lib/python2.7/site-packages/gtk-2.0',
root + 'env/lib/python2.7/site-packages',
root + 'env/lib/python2.7/site-packages/gtk-2.0',
]
fixSysPath()
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
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
|