##// END OF EJS Templates
Clean code, retab and minor fix...
Clean code, retab and minor fix remove unused code, convert some tab to space, and correct some semicolon according to jslint jlint fixes

File last commit:

r6973:1f1d8fa1
r7170:e0eb36bc
Show More
extension.py
69 lines | 2.4 KiB | text/x-python | PythonLexer
Fernando Perez
Create core.magics.extension according to new API.
r6967 """Implementation of magic functions for the extension machinery.
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2012 The IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
# Stdlib
import os
# Our own packages
Fernando Perez
Renamed @register_magics to @magics_class to avoid confusion....
r6973 from IPython.core.magic import Magics, magics_class, line_magic
Fernando Perez
Create core.magics.extension according to new API.
r6967
#-----------------------------------------------------------------------------
# Magic implementation classes
#-----------------------------------------------------------------------------
Fernando Perez
Renamed @register_magics to @magics_class to avoid confusion....
r6973 @magics_class
Fernando Perez
Create core.magics.extension according to new API.
r6967 class ExtensionMagics(Magics):
"""Magics to manage the IPython extensions system."""
@line_magic
def install_ext(self, parameter_s=''):
"""Download and install an extension from a URL, e.g.::
%install_ext https://bitbucket.org/birkenfeld/ipython-physics/raw/d1310a2ab15d/physics.py
The URL should point to an importable Python module - either a .py file
or a .zip file.
Parameters:
-n filename : Specify a name for the file, rather than taking it from
the URL.
"""
opts, args = self.parse_options(parameter_s, 'n:')
try:
filename = self.shell.extension_manager.install_extension(args,
opts.get('n'))
except ValueError as e:
print e
return
filename = os.path.basename(filename)
print "Installed %s. To use it, type:" % filename
print " %%load_ext %s" % os.path.splitext(filename)[0]
@line_magic
def load_ext(self, module_str):
"""Load an IPython extension by its module name."""
return self.shell.extension_manager.load_extension(module_str)
@line_magic
def unload_ext(self, module_str):
"""Unload an IPython extension by its module name."""
self.shell.extension_manager.unload_extension(module_str)
@line_magic
def reload_ext(self, module_str):
"""Reload an IPython extension by its module name."""
self.shell.extension_manager.reload_extension(module_str)