traceback.py 589 B

1234567891011121314151617181920212223
  1. #!/usr/bin/env python
  2. import sys,traceback,os
  3. sys.path.insert(0,'.')
  4. if 'TMUX' in os.environ: del os.environ['TMUX']
  5. os.environ['MMGEN_TRACEBACK'] = '1'
  6. f = open('my.err','w')
  7. try:
  8. sys.argv.pop(0)
  9. execfile(sys.argv[0])
  10. except SystemExit:
  11. e = sys.exc_info()
  12. sys.exit(int(str(e[1])))
  13. except:
  14. l = traceback.format_exception(*sys.exc_info())
  15. exc = l.pop()
  16. def red(s): return '{e}[31;1m{}{e}[0m'.format(s,e='\033')
  17. def yellow(s): return '{e}[33;1m{}{e}[0m'.format(s,e='\033')
  18. sys.stdout.write('{}{}'.format(yellow(''.join(l)),red(exc)))
  19. traceback.print_exc(file=f)
  20. sys.exit(1)