]> git.phdru.name Git - dotfiles.git/blobdiff - lib/python/init.py
init.py: Hide errors during `.write_history_file()`
[dotfiles.git] / lib / python / init.py
index a6c2388cb9824bbd070e73692dc6d88d17ed55d8..8720caa9bf1120075310a8a54296704b47e7332b 100644 (file)
@@ -36,16 +36,21 @@ def init():
                 or os.path.expanduser('~/.inputrc')
             readline.read_init_file(initfile)
 
-            #if 'libedit' in readline.__doc__:
-            #    readline.parse_and_bind("bind ^I rl_complete")
-            #else:
-            #    readline.parse_and_bind("tab: complete")
-
-            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')
@@ -56,7 +61,13 @@ def init():
                         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)
@@ -127,7 +138,7 @@ def init():
 
         try:
             builtins.raw_input
-        except AttributeError: # PY3
+        except AttributeError:  # PY3
             builtin_input = builtins.input
             builtins.input = myinput
         else:
@@ -195,7 +206,7 @@ def init():
         pager = Pager()
         try:
             pager.pprint(value)
-        except:
+        except:  # noqa
             pager.stdout = ColoredFile(pager.stdout, '\033[31m')  # red
             print_exc(file=pager)
         pager.close()
@@ -212,13 +223,13 @@ def init():
 
     sys.excepthook = excepthook
 
-    #try:
-    #    import cgitb
-    #except ImportError:
-    #    pass
-    #else:
-    #    # cgitb.enable() overrides sys.excepthook
-    #    cgitb.enable(format='text')
+    # try:
+    #     import cgitb
+    # except ImportError:
+    #     pass
+    # else:
+    #     # cgitb.enable() overrides sys.excepthook
+    #     cgitb.enable(format='text')
 
     # From Thomas Heller:
     # https://mail.python.org/pipermail/python-list/2001-April/099020.html