14
14
15
15
version_pat = re .compile (r'Version (\d+(\.\d+)+)' )
16
16
17
- class GDLKernel (Kernel ):
18
- implementation = 'gdl_kernel '
17
+ class IDLKernel (Kernel ):
18
+ implementation = 'IDL_kernel '
19
19
implementation_version = __version__
20
- language = 'GDL '
20
+ language = 'IDL '
21
21
@property
22
22
def language_version (self ):
23
23
m = version_pat .search (self .banner )
@@ -27,7 +27,10 @@ def language_version(self):
27
27
@property
28
28
def banner (self ):
29
29
if self ._banner is None :
30
- self ._banner = check_output (['gdl' , '--version' ]).decode ('utf-8' )
30
+ try :
31
+ self ._banner = check_output (['idl' , '-e "" ' ]).decode ('utf-8' )
32
+ except :
33
+ self ._banner = check_output (['gdl' , '--version' ]).decode ('utf-8' )
31
34
return self ._banner
32
35
33
36
def __init__ (self , ** kwargs ):
@@ -38,11 +41,14 @@ def __init__(self, **kwargs):
38
41
# so that bash and its children are interruptible.
39
42
sig = signal .signal (signal .SIGINT , signal .SIG_DFL )
40
43
try :
41
- self .gdlwrapper = replwrap .REPLWrapper ("gdl" ,u"GDL> " ,None )
42
- self .gdlwrapper .run_command ("!quiet=1 & defsysv,'!inline',0" .rstrip (), timeout = None )
44
+ self .idlwrapper = replwrap .REPLWrapper ("idl" ,u"IDL> " ,None )
45
+ except :
46
+ self .idlwrapper = replwrap .REPLWrapper ("gdl" ,u"GDL> " ,None )
43
47
finally :
44
48
signal .signal (signal .SIGINT , sig )
45
49
50
+ self .idlwrapper .run_command ("!quiet=1 & defsysv,'!inline',0" .rstrip (), timeout = None )
51
+
46
52
def do_execute (self , code , silent , store_history = True , user_expressions = None ,
47
53
allow_stdin = False ):
48
54
if not code .strip ():
@@ -81,7 +87,7 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None,
81
87
try :
82
88
tfile .file .write (code .rstrip ()+ postcall .rstrip ())
83
89
tfile .file .close ()
84
- output = self .gdlwrapper .run_command (".run " + tfile .name , timeout = None )
90
+ output = self .idlwrapper .run_command (".run " + tfile .name , timeout = None )
85
91
86
92
# Publish images (only one for now)
87
93
images = [open (imgfile , 'rb' ).read () for imgfile in glob ("%s/__fig.png" % plot_dir )]
@@ -94,10 +100,10 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None,
94
100
for data in display_data :
95
101
self .send_response (self .iopub_socket , 'display_data' ,{'data' :data ,'metadata' :{'image/png' :{'width' :683 ,'height' :384 }}})
96
102
except KeyboardInterrupt :
97
- self .gdlwrapper .child .sendintr ()
103
+ self .idlwrapper .child .sendintr ()
98
104
interrupted = True
99
- self .gdlwrapper ._expect_prompt ()
100
- output = self .gdlwrapper .child .before
105
+ self .idlwrapper ._expect_prompt ()
106
+ output = self .idlwrapper .child .before
101
107
finally :
102
108
tfile .close ()
103
109
rmtree (plot_dir )
@@ -122,9 +128,9 @@ def do_execute(self, code, silent, store_history=True, user_expressions=None,
122
128
'payloads' : [], 'user_expressions' : {}}
123
129
124
130
def do_shutdown (self , restart ):
125
- self .gdlwrapper .child .kill (signal .SIGKILL )
131
+ self .idlwrapper .child .kill (signal .SIGKILL )
126
132
return {'status' :'ok' , 'restart' :restart }
127
133
128
134
if __name__ == '__main__' :
129
135
from IPython .kernel .zmq .kernelapp import IPKernelApp
130
- IPKernelApp .launch_instance (kernel_class = GDLKernel )
136
+ IPKernelApp .launch_instance (kernel_class = IDLKernel )
0 commit comments