Show More
@@ -2,7 +2,12 b'' | |||||
2 |
|
2 | |||
3 | """ History related magics and functionality """ |
|
3 | """ History related magics and functionality """ | |
4 |
|
4 | |||
|
5 | # Stdlib imports | |||
5 | import fnmatch |
|
6 | import fnmatch | |
|
7 | import os | |||
|
8 | ||||
|
9 | # IPython imports | |||
|
10 | from IPython.genutils import Term, ask_yes_no | |||
6 |
|
11 | |||
7 | def magic_history(self, parameter_s = ''): |
|
12 | def magic_history(self, parameter_s = ''): | |
8 | """Print input history (_i<n> variables), with most recent last. |
|
13 | """Print input history (_i<n> variables), with most recent last. | |
@@ -46,7 +51,25 b" def magic_history(self, parameter_s = ''):" | |||||
46 | if not shell.outputcache.do_full_cache: |
|
51 | if not shell.outputcache.do_full_cache: | |
47 | print 'This feature is only available if numbered prompts are in use.' |
|
52 | print 'This feature is only available if numbered prompts are in use.' | |
48 | return |
|
53 | return | |
49 | opts,args = self.parse_options(parameter_s,'gntsr',mode='list') |
|
54 | opts,args = self.parse_options(parameter_s,'gntsrf:',mode='list') | |
|
55 | ||||
|
56 | # Check if output to specific file was requested. | |||
|
57 | try: | |||
|
58 | outfname = opts['f'] | |||
|
59 | except KeyError: | |||
|
60 | outfile = Term.cout | |||
|
61 | # We don't want to close stdout at the end! | |||
|
62 | close_at_end = False | |||
|
63 | else: | |||
|
64 | if os.path.exists(outfname): | |||
|
65 | ans = ask_yes_no("File %r exists. Overwrite?" % outfname) | |||
|
66 | if not ans: | |||
|
67 | print 'Aborting.' | |||
|
68 | return | |||
|
69 | else: | |||
|
70 | outfile = open(outfname,'w') | |||
|
71 | close_at_end = True | |||
|
72 | ||||
50 |
|
73 | |||
51 | if opts.has_key('t'): |
|
74 | if opts.has_key('t'): | |
52 | input_hist = shell.input_hist |
|
75 | input_hist = shell.input_hist | |
@@ -92,7 +115,7 b" def magic_history(self, parameter_s = ''):" | |||||
92 |
|
115 | |||
93 | if found: |
|
116 | if found: | |
94 | print "===" |
|
117 | print "===" | |
95 |
print " |
|
118 | print "shadow history ends, fetch by %rep <number> (must start with 0)" | |
96 | print "=== start of normal history ===" |
|
119 | print "=== start of normal history ===" | |
97 |
|
120 | |||
98 | for in_num in range(init,final): |
|
121 | for in_num in range(init,final): | |
@@ -102,8 +125,12 b" def magic_history(self, parameter_s = ''):" | |||||
102 |
|
125 | |||
103 | multiline = int(inline.count('\n') > 1) |
|
126 | multiline = int(inline.count('\n') > 1) | |
104 | if print_nums: |
|
127 | if print_nums: | |
105 | print '%s:%s' % (str(in_num).ljust(width),line_sep[multiline]), |
|
128 | print >> outfile, \ | |
106 | print inline, |
|
129 | '%s:%s' % (str(in_num).ljust(width),line_sep[multiline]), | |
|
130 | print >> outfile, inline, | |||
|
131 | ||||
|
132 | if close_at_end: | |||
|
133 | outfile.close() | |||
107 |
|
134 | |||
108 |
|
135 | |||
109 |
|
136 |
@@ -1,3 +1,8 b'' | |||||
|
1 | 2008-01-29 Fernando Perez <Fernando.Perez@colorado.edu> | |||
|
2 | ||||
|
3 | * IPython/history.py (magic_history): Add support for declaring an | |||
|
4 | output file directly from the history command. | |||
|
5 | ||||
1 | 2008-01-21 Walter Doerwald <walter@livinglogic.de> |
|
6 | 2008-01-21 Walter Doerwald <walter@livinglogic.de> | |
2 |
|
7 | |||
3 | * ipipe.py: Register ipipe's displayhooks via the generic function |
|
8 | * ipipe.py: Register ipipe's displayhooks via the generic function |
General Comments 0
You need to be logged in to leave comments.
Login now