histfile = histfiles[-1]
histfile = os.path.expandvars(histfile)
histfile = os.path.expanduser(histfile)
- readline.write_history_file(histfile)
+ try:
+ readline.write_history_file(histfile)
+ except IOError:
+ pass
import atexit
atexit.register(savehist)
# terminal
term = os.environ.get('TERM', '')
- if 'linux' in term:
- background = 'dark'
+ for _term in ['cygwin', 'linux', 'putty']:
+ if _term in term:
+ background = 'dark'
+ break
else:
background = os.environ.get('BACKGROUND', 'light').lower()
# https://mail.python.org/pipermail/python-list/2001-March/112696.html
_term_found = False
- for _term in ['linux', 'rxvt', 'screen', 'term', 'vt100']:
+ for _term in ['cygwin', 'linux', 'putty', 'rxvt',
+ 'screen', 'term', 'vt100']:
if _term in term:
_term_found = True
break
def myinput(prompt=None):
save_stdout = sys.stdout
sys.stdout = sys.__stdout__
- try:
- result = builtin_input(prompt)
- except EOFError:
- result = None
+ result = builtin_input(prompt)
sys.stdout = save_stdout
return result
def write(self, value):
self.stdout.write(value)
- def pprint(self, value):
- pprint(value,
- stream=ColoredFile(self.stdout,
- '\033[1;3%sm' % stdout_color))
+ if _term_found:
+ def pprint(self, value):
+ pprint(value,
+ stream=ColoredFile(self.stdout,
+ '\033[1;3%sm' % stdout_color))
def close(self):
self.stdout.close()
try:
pager.pprint(value)
except: # noqa
- pager.stdout = ColoredFile(pager.stdout, '\033[31m') # red
+ if _term_found:
+ pager.stdout = ColoredFile(pager.stdout, '\033[31m') # red
print_exc(file=pager)
pager.close()
def excepthook(etype, evalue, etraceback):
lines = format_exception(etype, evalue, etraceback)
pager = Pager()
- pager.stdout = ColoredFile(pager.stdout, '\033[31m') # red
+ if _term_found:
+ pager.stdout = ColoredFile(pager.stdout, '\033[31m') # red
for line in lines:
pager.write(line)
pager.close()
return "Usage: cat('filename')"
def __call__(self, filename):
- fp = open(filename, 'rU')
+ fp = open(filename, 'r')
text = fp.read()
fp.close()
print(text)