##// END OF EJS Templates
Remove checks for pre-0.11 config files
Thomas Kluyver -
Show More
@@ -34,7 +34,7 b' from IPython.core.shellapp import ('
34 from IPython.extensions.storemagic import StoreMagics
34 from IPython.extensions.storemagic import StoreMagics
35 from IPython.terminal.interactiveshell import TerminalInteractiveShell
35 from IPython.terminal.interactiveshell import TerminalInteractiveShell
36 from IPython.utils import warn
36 from IPython.utils import warn
37 from IPython.utils.path import get_ipython_dir, check_for_old_config
37 from IPython.utils.path import get_ipython_dir
38 from IPython.utils.traitlets import (
38 from IPython.utils.traitlets import (
39 Bool, List, Dict,
39 Bool, List, Dict,
40 )
40 )
@@ -246,16 +246,12 b' class TerminalIPythonApp(BaseIPythonApplication, InteractiveShellApp):'
246 # *do* autocreate requested profile, but don't create the config file.
246 # *do* autocreate requested profile, but don't create the config file.
247 auto_create=Bool(True)
247 auto_create=Bool(True)
248 # configurables
248 # configurables
249 ignore_old_config=Bool(False, config=True,
250 help="Suppress warning messages about legacy config files"
251 )
252 quick = Bool(False, config=True,
249 quick = Bool(False, config=True,
253 help="""Start IPython quickly by skipping the loading of config files."""
250 help="""Start IPython quickly by skipping the loading of config files."""
254 )
251 )
255 def _quick_changed(self, name, old, new):
252 def _quick_changed(self, name, old, new):
256 if new:
253 if new:
257 self.load_config_file = lambda *a, **kw: None
254 self.load_config_file = lambda *a, **kw: None
258 self.ignore_old_config=True
259
255
260 display_banner = Bool(True, config=True,
256 display_banner = Bool(True, config=True,
261 help="Whether to display a banner upon starting IPython."
257 help="Whether to display a banner upon starting IPython."
@@ -307,8 +303,6 b' class TerminalIPythonApp(BaseIPythonApplication, InteractiveShellApp):'
307 if self.subapp is not None:
303 if self.subapp is not None:
308 # don't bother initializing further, starting subapp
304 # don't bother initializing further, starting subapp
309 return
305 return
310 if not self.ignore_old_config:
311 check_for_old_config(self.ipython_dir)
312 # print self.extra_args
306 # print self.extra_args
313 if self.extra_args and not self.something_to_run:
307 if self.extra_args and not self.something_to_run:
314 self.file_to_run = self.extra_args[0]
308 self.file_to_run = self.extra_args[0]
@@ -21,6 +21,8 b' from IPython.testing.skipdoctest import skip_doctest'
21 from IPython.utils.process import system
21 from IPython.utils.process import system
22 from IPython.utils.importstring import import_item
22 from IPython.utils.importstring import import_item
23 from IPython.utils import py3compat
23 from IPython.utils import py3compat
24 from IPython.utils.decorators import undoc
25
24 #-----------------------------------------------------------------------------
26 #-----------------------------------------------------------------------------
25 # Code
27 # Code
26 #-----------------------------------------------------------------------------
28 #-----------------------------------------------------------------------------
@@ -443,51 +445,14 b' def target_update(target,deps,cmd):'
443 if target_outdated(target,deps):
445 if target_outdated(target,deps):
444 system(cmd)
446 system(cmd)
445
447
448 @undoc
446 def filehash(path):
449 def filehash(path):
447 """Make an MD5 hash of a file, ignoring any differences in line
450 """Make an MD5 hash of a file, ignoring any differences in line
448 ending characters."""
451 ending characters."""
452 warn("filehash() is deprecated")
449 with open(path, "rU") as f:
453 with open(path, "rU") as f:
450 return md5(py3compat.str_to_bytes(f.read())).hexdigest()
454 return md5(py3compat.str_to_bytes(f.read())).hexdigest()
451
455
452 # If the config is unmodified from the default, we'll just delete it.
453 # These are consistent for 0.10.x, thankfully. We're not going to worry about
454 # older versions.
455 old_config_md5 = {'ipy_user_conf.py': 'fc108bedff4b9a00f91fa0a5999140d3',
456 'ipythonrc': '12a68954f3403eea2eec09dc8fe5a9b5'}
457
458 def check_for_old_config(ipython_dir=None):
459 """Check for old config files, and present a warning if they exist.
460
461 A link to the docs of the new config is included in the message.
462
463 This should mitigate confusion with the transition to the new
464 config system in 0.11.
465 """
466 if ipython_dir is None:
467 ipython_dir = get_ipython_dir()
468
469 old_configs = ['ipy_user_conf.py', 'ipythonrc', 'ipython_config.py']
470 warned = False
471 for cfg in old_configs:
472 f = os.path.join(ipython_dir, cfg)
473 if os.path.exists(f):
474 if filehash(f) == old_config_md5.get(cfg, ''):
475 os.unlink(f)
476 else:
477 warn("Found old IPython config file {!r} (modified by user)".format(f))
478 warned = True
479
480 if warned:
481 warn("""
482 The IPython configuration system has changed as of 0.11, and these files will
483 be ignored. See http://ipython.github.com/ipython-doc/dev/config for details
484 of the new config system.
485 To start configuring IPython, do `ipython profile create`, and edit
486 `ipython_config.py` in <ipython_dir>/profile_default.
487 If you need to leave the old config files in place for an older version of
488 IPython and want to suppress this warning message, set
489 `c.InteractiveShellApp.ignore_old_config=True` in the new config.""")
490
491 def get_security_file(filename, profile='default'):
456 def get_security_file(filename, profile='default'):
492 """Return the absolute path of a security file given by filename and profile
457 """Return the absolute path of a security file given by filename and profile
493
458
General Comments 0
You need to be logged in to leave comments. Login now