Show More
@@ -453,15 +453,10 b" def magic_history(self, parameter_s = ''):" | |||||
453 | print('%s:%s' % (str(in_num).ljust(width), line_sep[multiline]), |
|
453 | print('%s:%s' % (str(in_num).ljust(width), line_sep[multiline]), | |
454 | file=outfile, end='') |
|
454 | file=outfile, end='') | |
455 | if pyprompts: |
|
455 | if pyprompts: | |
456 |
|
|
456 | print(">>> ", end="", file=outfile) | |
457 | if multiline: |
|
457 | if multiline: | |
458 |
line |
|
458 | inline = "\n... ".join(inline.splitlines()) + "\n..." | |
459 |
|
|
459 | print(inline, file=outfile) | |
460 | print('... ', file=outfile) |
|
|||
461 | else: |
|
|||
462 | print(inline, file=outfile) |
|
|||
463 | else: |
|
|||
464 | print(inline, file=outfile) |
|
|||
465 | if print_outputs and output: |
|
460 | if print_outputs and output: | |
466 | print(repr(output), file=outfile) |
|
461 | print(repr(output), file=outfile) | |
467 |
|
462 |
@@ -57,7 +57,7 b' import IPython.utils.io' | |||||
57 | from IPython.utils.path import get_py_filename |
|
57 | from IPython.utils.path import get_py_filename | |
58 | from IPython.utils.process import arg_split, abbrev_cwd |
|
58 | from IPython.utils.process import arg_split, abbrev_cwd | |
59 | from IPython.utils.terminal import set_term_title |
|
59 | from IPython.utils.terminal import set_term_title | |
60 |
from IPython.utils.text import LSString, SList, |
|
60 | from IPython.utils.text import LSString, SList, format_screen | |
61 | from IPython.utils.timing import clock, clock2 |
|
61 | from IPython.utils.timing import clock, clock2 | |
62 | from IPython.utils.warn import warn, error |
|
62 | from IPython.utils.warn import warn, error | |
63 | from IPython.utils.ipstruct import Struct |
|
63 | from IPython.utils.ipstruct import Struct | |
@@ -2284,9 +2284,10 b' Currently the magic system has the following functions:\\n"""' | |||||
2284 |
|
2284 | |||
2285 | # by default this is done with temp files, except when the given |
|
2285 | # by default this is done with temp files, except when the given | |
2286 | # arg is a filename |
|
2286 | # arg is a filename | |
2287 |
use_temp = |
|
2287 | use_temp = True | |
2288 |
|
2288 | |||
2289 | if re.match(r'\d',args): |
|
2289 | data = '' | |
|
2290 | if args[0].isdigit(): | |||
2290 | # Mode where user specifies ranges of lines, like in %macro. |
|
2291 | # Mode where user specifies ranges of lines, like in %macro. | |
2291 | # This means that you can't edit files whose names begin with |
|
2292 | # This means that you can't edit files whose names begin with | |
2292 | # numbers this way. Tough. |
|
2293 | # numbers this way. Tough. | |
@@ -2294,16 +2295,15 b' Currently the magic system has the following functions:\\n"""' | |||||
2294 | data = '\n'.join(self.extract_input_slices(ranges,opts_r)) |
|
2295 | data = '\n'.join(self.extract_input_slices(ranges,opts_r)) | |
2295 | elif args.endswith('.py'): |
|
2296 | elif args.endswith('.py'): | |
2296 | filename = make_filename(args) |
|
2297 | filename = make_filename(args) | |
2297 |
|
|
2298 | use_temp = False | |
2298 | use_temp = 0 |
|
|||
2299 | elif args: |
|
2299 | elif args: | |
2300 | try: |
|
2300 | try: | |
2301 | # Load the parameter given as a variable. If not a string, |
|
2301 | # Load the parameter given as a variable. If not a string, | |
2302 | # process it as an object instead (below) |
|
2302 | # process it as an object instead (below) | |
2303 |
|
2303 | |||
2304 | #print '*** args',args,'type',type(args) # dbg |
|
2304 | #print '*** args',args,'type',type(args) # dbg | |
2305 | data = eval(args,self.shell.user_ns) |
|
2305 | data = eval(args, self.shell.user_ns) | |
2306 |
if not |
|
2306 | if not isinstance(data, basestring): | |
2307 | raise DataIsObject |
|
2307 | raise DataIsObject | |
2308 |
|
2308 | |||
2309 | except (NameError,SyntaxError): |
|
2309 | except (NameError,SyntaxError): | |
@@ -2313,13 +2313,11 b' Currently the magic system has the following functions:\\n"""' | |||||
2313 | warn("Argument given (%s) can't be found as a variable " |
|
2313 | warn("Argument given (%s) can't be found as a variable " | |
2314 | "or as a filename." % args) |
|
2314 | "or as a filename." % args) | |
2315 | return |
|
2315 | return | |
2316 |
|
2316 | use_temp = False | ||
2317 |
|
|
2317 | ||
2318 | use_temp = 0 |
|
|||
2319 | except DataIsObject: |
|
2318 | except DataIsObject: | |
2320 |
|
||||
2321 | # macros have a special edit function |
|
2319 | # macros have a special edit function | |
2322 | if isinstance(data,Macro): |
|
2320 | if isinstance(data, Macro): | |
2323 | self._edit_macro(args,data) |
|
2321 | self._edit_macro(args,data) | |
2324 | return |
|
2322 | return | |
2325 |
|
2323 | |||
@@ -2358,9 +2356,7 b' Currently the magic system has the following functions:\\n"""' | |||||
2358 | warn('The file `%s` where `%s` was defined cannot ' |
|
2356 | warn('The file `%s` where `%s` was defined cannot ' | |
2359 | 'be read.' % (filename,data)) |
|
2357 | 'be read.' % (filename,data)) | |
2360 | return |
|
2358 | return | |
2361 |
use_temp = |
|
2359 | use_temp = False | |
2362 | else: |
|
|||
2363 | data = '' |
|
|||
2364 |
|
2360 | |||
2365 | if use_temp: |
|
2361 | if use_temp: | |
2366 | filename = self.shell.mktempfile(data) |
|
2362 | filename = self.shell.mktempfile(data) | |
@@ -2383,7 +2379,7 b' Currently the magic system has the following functions:\\n"""' | |||||
2383 | if args.strip() == 'pasted_block': |
|
2379 | if args.strip() == 'pasted_block': | |
2384 | self.shell.user_ns['pasted_block'] = file_read(filename) |
|
2380 | self.shell.user_ns['pasted_block'] = file_read(filename) | |
2385 |
|
2381 | |||
2386 |
if |
|
2382 | if 'x' in opts: # -x prevents actual execution | |
2387 |
|
2383 | |||
2388 | else: |
|
2384 | else: | |
2389 | print 'done. Executing edited code...' |
|
2385 | print 'done. Executing edited code...' |
@@ -19,7 +19,6 b' import __main__' | |||||
19 | import os |
|
19 | import os | |
20 | import re |
|
20 | import re | |
21 | import shutil |
|
21 | import shutil | |
22 | import types |
|
|||
23 |
|
22 | |||
24 | from IPython.external.path import path |
|
23 | from IPython.external.path import path | |
25 |
|
24 | |||
@@ -30,8 +29,6 b' from IPython.utils.data import flatten' | |||||
30 | # Code |
|
29 | # Code | |
31 | #----------------------------------------------------------------------------- |
|
30 | #----------------------------------------------------------------------------- | |
32 |
|
31 | |||
33 | StringTypes = types.StringTypes |
|
|||
34 |
|
||||
35 |
|
32 | |||
36 | def unquote_ends(istr): |
|
33 | def unquote_ends(istr): | |
37 | """Remove a single pair of quotes from the endpoints of a string.""" |
|
34 | """Remove a single pair of quotes from the endpoints of a string.""" | |
@@ -325,7 +322,7 b' def qw(words,flat=0,sep=None,maxsplit=-1):' | |||||
325 | ['a', 'b', '1', '2', 'm', 'n', 'p', 'q'] |
|
322 | ['a', 'b', '1', '2', 'm', 'n', 'p', 'q'] | |
326 | """ |
|
323 | """ | |
327 |
|
324 | |||
328 |
if |
|
325 | if isinstance(words, basestring): | |
329 | return [word.strip() for word in words.split(sep,maxsplit) |
|
326 | return [word.strip() for word in words.split(sep,maxsplit) | |
330 | if word and not word.isspace() ] |
|
327 | if word and not word.isspace() ] | |
331 | if flat: |
|
328 | if flat: | |
@@ -345,7 +342,7 b' def qw_lol(indata):' | |||||
345 | We need this to make sure the modules_some keys *always* end up as a |
|
342 | We need this to make sure the modules_some keys *always* end up as a | |
346 | list of lists.""" |
|
343 | list of lists.""" | |
347 |
|
344 | |||
348 |
if |
|
345 | if isinstance(indata, basestring): | |
349 | return [qw(indata)] |
|
346 | return [qw(indata)] | |
350 | else: |
|
347 | else: | |
351 | return qw(indata) |
|
348 | return qw(indata) |
@@ -18,7 +18,6 b' from __future__ import print_function' | |||||
18 | # Stdlib |
|
18 | # Stdlib | |
19 | import inspect |
|
19 | import inspect | |
20 | import os |
|
20 | import os | |
21 | import re |
|
|||
22 |
|
21 | |||
23 | # Our own |
|
22 | # Our own | |
24 | from IPython.core.interactiveshell import ( |
|
23 | from IPython.core.interactiveshell import ( | |
@@ -31,7 +30,6 b' from IPython.core.macro import Macro' | |||||
31 | from IPython.core.payloadpage import install_payload_page |
|
30 | from IPython.core.payloadpage import install_payload_page | |
32 | from IPython.utils import io |
|
31 | from IPython.utils import io | |
33 | from IPython.utils.path import get_py_filename |
|
32 | from IPython.utils.path import get_py_filename | |
34 | from IPython.utils.text import StringTypes |
|
|||
35 | from IPython.utils.traitlets import Instance, Type, Dict |
|
33 | from IPython.utils.traitlets import Instance, Type, Dict | |
36 | from IPython.utils.warn import warn |
|
34 | from IPython.utils.warn import warn | |
37 | from IPython.zmq.session import extract_header |
|
35 | from IPython.zmq.session import extract_header | |
@@ -433,9 +431,10 b' class ZMQInteractiveShell(InteractiveShell):' | |||||
433 |
|
431 | |||
434 | # by default this is done with temp files, except when the given |
|
432 | # by default this is done with temp files, except when the given | |
435 | # arg is a filename |
|
433 | # arg is a filename | |
436 |
use_temp = |
|
434 | use_temp = True | |
437 |
|
435 | |||
438 | if re.match(r'\d',args): |
|
436 | data = '' | |
|
437 | if args[0].isdigit(): | |||
439 | # Mode where user specifies ranges of lines, like in %macro. |
|
438 | # Mode where user specifies ranges of lines, like in %macro. | |
440 | # This means that you can't edit files whose names begin with |
|
439 | # This means that you can't edit files whose names begin with | |
441 | # numbers this way. Tough. |
|
440 | # numbers this way. Tough. | |
@@ -443,16 +442,15 b' class ZMQInteractiveShell(InteractiveShell):' | |||||
443 | data = ''.join(self.extract_input_slices(ranges,opts_r)) |
|
442 | data = ''.join(self.extract_input_slices(ranges,opts_r)) | |
444 | elif args.endswith('.py'): |
|
443 | elif args.endswith('.py'): | |
445 | filename = make_filename(args) |
|
444 | filename = make_filename(args) | |
446 |
|
|
445 | use_temp = False | |
447 | use_temp = 0 |
|
|||
448 | elif args: |
|
446 | elif args: | |
449 | try: |
|
447 | try: | |
450 | # Load the parameter given as a variable. If not a string, |
|
448 | # Load the parameter given as a variable. If not a string, | |
451 | # process it as an object instead (below) |
|
449 | # process it as an object instead (below) | |
452 |
|
450 | |||
453 | #print '*** args',args,'type',type(args) # dbg |
|
451 | #print '*** args',args,'type',type(args) # dbg | |
454 | data = eval(args,self.shell.user_ns) |
|
452 | data = eval(args, self.shell.user_ns) | |
455 |
if not |
|
453 | if not isinstance(data, basestring): | |
456 | raise DataIsObject |
|
454 | raise DataIsObject | |
457 |
|
455 | |||
458 | except (NameError,SyntaxError): |
|
456 | except (NameError,SyntaxError): | |
@@ -462,13 +460,11 b' class ZMQInteractiveShell(InteractiveShell):' | |||||
462 | warn("Argument given (%s) can't be found as a variable " |
|
460 | warn("Argument given (%s) can't be found as a variable " | |
463 | "or as a filename." % args) |
|
461 | "or as a filename." % args) | |
464 | return |
|
462 | return | |
465 |
|
463 | use_temp = False | ||
466 |
|
|
464 | ||
467 | use_temp = 0 |
|
|||
468 | except DataIsObject: |
|
465 | except DataIsObject: | |
469 |
|
||||
470 | # macros have a special edit function |
|
466 | # macros have a special edit function | |
471 | if isinstance(data,Macro): |
|
467 | if isinstance(data, Macro): | |
472 | self._edit_macro(args,data) |
|
468 | self._edit_macro(args,data) | |
473 | return |
|
469 | return | |
474 |
|
470 | |||
@@ -507,9 +503,7 b' class ZMQInteractiveShell(InteractiveShell):' | |||||
507 | warn('The file `%s` where `%s` was defined cannot ' |
|
503 | warn('The file `%s` where `%s` was defined cannot ' | |
508 | 'be read.' % (filename,data)) |
|
504 | 'be read.' % (filename,data)) | |
509 | return |
|
505 | return | |
510 |
use_temp = |
|
506 | use_temp = False | |
511 | else: |
|
|||
512 | data = '' |
|
|||
513 |
|
507 | |||
514 | if use_temp: |
|
508 | if use_temp: | |
515 | filename = self.shell.mktempfile(data) |
|
509 | filename = self.shell.mktempfile(data) |
General Comments 0
You need to be logged in to leave comments.
Login now