or os.path.expanduser('~/.inputrc')
readline.read_init_file(initfile)
- histfile = os.path.expanduser('~/.python_history')
- try:
- readline.read_history_file(histfile)
- except IOError:
- pass # No such file
# if 'libedit' in readline.__doc__:
# readline.parse_and_bind("bind ^I rl_complete")
# else:
# readline.parse_and_bind("tab: complete")
+ histfiles = ['~/.python_history']
+ # if 'VIRTUAL_ENV' in os.environ:
+ # histfiles.append('$VIRTUAL_ENV/.python_history')
+ for histfile in histfiles:
+ try:
+ histfile = os.path.expandvars(histfile)
+ histfile = os.path.expanduser(histfile)
+ readline.read_history_file(histfile)
+ except IOError:
+ pass # No such file
+
def savehist():
histsize = os.environ.get('HISTSIZE')
if histsize:
pass
else:
readline.set_history_length(histsize)
- readline.write_history_file(histfile)
+ histfile = histfiles[-1]
+ histfile = os.path.expandvars(histfile)
+ histfile = os.path.expanduser(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)