old_contents: """ User configuration file for IPython
  
  This is a more flexible and safe way to configure ipython than *rc files
  (ipythonrc, ipythonrc-pysh etc.)
  
  This file is always imported on ipython startup. You can import the
  ipython extensions you need here (see IPython/Extensions directory).
  
  Feel free to edit this file to customize your ipython experience.
  
  Note that as such this file does nothing, for backwards compatibility.
  Consult e.g. file 'ipy_profile_sh.py' for an example of the things 
  you can do here.
  
  See http://ipython.scipy.org/moin/IpythonExtensionApi for detailed
  description on what you could do here.
  """
  
  # Most of your config files and extensions will probably start with this import
  
  import IPython.ipapi
  ip = IPython.ipapi.get()
  
  # You probably want to uncomment this if you did %upgrade -nolegacy
  # import ipy_defaults    
  
  def main():
      # Handy tab-completers for %cd, %run, import etc.
      # Try commenting this out if you have completion problems/slowness
      # import ipy_stock_completers
      
      # uncomment if you want to get ipython -p sh behaviour
      # without having to use command line switches
      
      # import ipy_profile_sh
  
      
      o = ip.options
      # An example on how to set options
      #o.autocall = 1
      o.system_verbose = 0
  
  main()
  
new_contents: """ User configuration file for IPython
  
  This is a more flexible and safe way to configure ipython than *rc files
  (ipythonrc, ipythonrc-pysh etc.)
  
  This file is always imported on ipython startup. You can import the
  ipython extensions you need here (see IPython/Extensions directory).
  
  Feel free to edit this file to customize your ipython experience.
  
  Note that as such this file does nothing, for backwards compatibility.
  Consult e.g. file 'ipy_profile_sh.py' for an example of the things 
  you can do here.
  
  See http://ipython.scipy.org/moin/IpythonExtensionApi for detailed
  description on what you could do here.
  """
  
  # Most of your config files and extensions will probably start with this import
  
  import IPython.ipapi
  ip = IPython.ipapi.get()
  
  # You probably want to uncomment this if you did %upgrade -nolegacy
  # import ipy_defaults    
  
  import os   
  
  def main():
      # Handy tab-completers for %cd, %run, import etc.
      # Try commenting this out if you have completion problems/slowness
      # import ipy_stock_completers
      
      # uncomment if you want to get ipython -p sh behaviour
      # without having to use command line switches
      
      # import ipy_profile_sh
  
      
      o = ip.options
      # An example on how to set options
      #o.autocall = 1
      o.system_verbose = 0
      
      #import_all("os sys")
      #execf('~/_ipython/ns.py')
  
  # some config helper functions you can use 
  def import_all(modules):
      """ Usage: import_all("os sys") """ 
      for m in modules.split():
          ip.ex("from %s import *" % m)
          
  def execf(fname):
      """ Execute a file in user namespace """
      ip.ex('execfile("%s")' % os.path.expanduser(fname))
  
  main()
  
subject: add some config helpers to ipy_user_conf.py