X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=lib%2Fpython%2Finit.py;h=eb832c1b77f640d8899815d3633754bc1ebcf1d2;hp=1a91f049395ecceb52dee640983f53d3b18cedd2;hb=2098b777e6a193f50d3ac78d8f938a548ad66c50;hpb=f53a28e1fd29ed5d5b7887d58117ef137360d76b diff --git a/lib/python/init.py b/lib/python/init.py index 1a91f04..eb832c1 100644 --- a/lib/python/init.py +++ b/lib/python/init.py @@ -64,7 +64,10 @@ def init(): 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) @@ -77,8 +80,10 @@ def init(): # 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() @@ -86,7 +91,8 @@ def init(): # 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 @@ -126,10 +132,7 @@ def init(): 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 @@ -172,10 +175,11 @@ def init(): 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() @@ -204,7 +208,8 @@ def init(): 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() @@ -213,7 +218,8 @@ def init(): 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()