From 8c3acd2f9d381d551e8bb7bccccfe8de055a57d9 2019-07-07 01:11:39
From: Matthias Bussonnier <bussonniermatthias@gmail.com>
Date: 2019-07-07 01:11:39
Subject: [PATCH] Merge pull request #11814 from OriolAbril/matplotlib-uppercase

Fix %matplotlib
---

diff --git a/IPython/core/magics/pylab.py b/IPython/core/magics/pylab.py
index f5d011d..376d891 100644
--- a/IPython/core/magics/pylab.py
+++ b/IPython/core/magics/pylab.py
@@ -37,7 +37,7 @@ magic_gui_arg = magic_arguments.argument(
 @magics_class
 class PylabMagics(Magics):
     """Magics related to matplotlib's pylab support"""
-    
+
     @skip_doctest
     @line_magic
     @magic_arguments.magic_arguments()
@@ -46,23 +46,23 @@ class PylabMagics(Magics):
     @magic_gui_arg
     def matplotlib(self, line=''):
         """Set up matplotlib to work interactively.
-        
+
         This function lets you activate matplotlib interactive support
         at any point during an IPython session. It does not import anything
         into the interactive namespace.
-        
+
         If you are using the inline matplotlib backend in the IPython Notebook
         you can set which figure formats are enabled using the following::
-        
+
             In [1]: from IPython.display import set_matplotlib_formats
-            
+
             In [2]: set_matplotlib_formats('pdf', 'svg')
 
         The default for inline figures sets `bbox_inches` to 'tight'. This can
         cause discrepancies between the displayed image and the identical
         image created using `savefig`. This behavior can be disabled using the
         `%config` magic::
-            
+
             In [3]: %config InlineBackend.print_figure_kwargs = {'bbox_inches':None}
 
         In addition, see the docstring of
@@ -73,7 +73,7 @@ class PylabMagics(Magics):
         Examples
         --------
         To enable the inline backend for usage with the IPython Notebook::
-        
+
             In [1]: %matplotlib inline
 
         In this case, where the matplotlib default is TkAgg::
@@ -96,7 +96,7 @@ class PylabMagics(Magics):
             backends_list = list(backends.keys())
             print("Available matplotlib backends: %s" % backends_list)
         else:
-            gui, backend = self.shell.enable_matplotlib(args.gui.lower())
+            gui, backend = self.shell.enable_matplotlib(args.gui.lower() if isinstance(args.gui, str) else args.gui)
             self._show_matplotlib_backend(args.gui, backend)
 
     @skip_doctest
@@ -105,7 +105,7 @@ class PylabMagics(Magics):
     @magic_arguments.argument(
         '--no-import-all', action='store_true', default=None,
         help="""Prevent IPython from performing ``import *`` into the interactive namespace.
-        
+
         You can govern the default behavior of this flag with the
         InteractiveShellApp.pylab_import_all configurable.
         """
@@ -116,23 +116,23 @@ class PylabMagics(Magics):
 
         This function lets you activate pylab (matplotlib, numpy and
         interactive support) at any point during an IPython session.
-        
+
         %pylab makes the following imports::
-        
+
             import numpy
             import matplotlib
             from matplotlib import pylab, mlab, pyplot
             np = numpy
             plt = pyplot
-            
+
             from IPython.display import display
             from IPython.core.pylabtools import figsize, getfigs
-            
+
             from pylab import *
             from numpy import *
 
         If you pass `--no-import-all`, the last two `*` imports will be excluded.
-        
+
         See the %matplotlib magic for more details about activating matplotlib
         without affecting the interactive namespace.
         """
@@ -159,7 +159,7 @@ class PylabMagics(Magics):
             warn("pylab import has clobbered these variables: %s"  % clobbered +
             "\n`%matplotlib` prevents importing * from pylab and numpy"
             )
-    
+
     def _show_matplotlib_backend(self, gui, backend):
         """show matplotlib message backend message"""
         if not gui or gui == 'auto':