1
1
import sys
2
2
import matplotlib
3
3
4
-
5
4
__all__ = ['backend' ,'show' ,'draw_if_interactive' ,'error_msg' ,
6
5
'new_figure_manager' , 'backend_version' ]
7
6
14
13
if backend not in all_backends :
15
14
raise ValueError , 'Unrecognized backend %s' % backend
16
15
17
-
18
16
# Import the requested backend into a generic module object
19
17
backend_name = 'backend_' + backend .lower ()
20
18
backend_mod = __import__ ('matplotlib.backends.' + backend_name ,
27
25
backend_version = getattr (backend_mod ,'backend_version' )
28
26
else : backend_version = 'unknown'
29
27
30
-
31
28
# Now define the public API according to the kind of backend in use
32
29
if backend in interactive_bk :
33
30
error_msg = backend_mod .error_msg
34
31
show = backend_mod .show
35
- __draw_int = backend_mod .draw_if_interactive
36
-
37
- # wrap draw_if_interactive with a flag which detects if it was called.
38
- # This allows tools like ipython to properly manage interactive scripts.
39
- # In python 2.4, this can be cleanly done with a simple decorator.
40
- def draw_if_interactive ():
41
- draw_if_interactive ._called = True
42
- __draw_int ()
43
- # Flag to store state, so external callers (like ipython) can keep track
44
- # of draw calls.
45
- draw_if_interactive ._called = False
46
- draw_if_interactive .__doc__ = __draw_int .__doc__
32
+ draw_if_interactive = backend_mod .draw_if_interactive
47
33
else : # non-interactive backends
48
34
def draw_if_interactive (): pass
49
35
def show (): pass
@@ -59,5 +45,4 @@ def error_msg(m):
59
45
Toolbar = backend_mod .Toolbar
60
46
__all__ .append ('Toolbar' )
61
47
62
- matplotlib .verbose .report ('backend %s version %s' %
63
- (backend , backend_version ))
48
+ matplotlib .verbose .report ('backend %s version %s' % (backend ,backend_version ))
0 commit comments