Show More
@@ -0,0 +1,38 b'' | |||||
|
1 | #!/usr/bin/env python | |||
|
2 | """Extract a session from the IPython input history. | |||
|
3 | ||||
|
4 | Usage: | |||
|
5 | ipython-get-history.py sessionnumber [outputfile] | |||
|
6 | ||||
|
7 | If outputfile is not given, the relevant history is written to stdout. If | |||
|
8 | outputfile has a .py extension, the translated history (without IPython's | |||
|
9 | special syntax) will be extracted. | |||
|
10 | ||||
|
11 | Example: | |||
|
12 | ./ipython-get-history.py 57 record.ipy | |||
|
13 | ||||
|
14 | ||||
|
15 | This script is a simple demonstration of HistoryAccessor. It should be possible | |||
|
16 | to build much more flexible and powerful tools to browse and pull from the | |||
|
17 | history database. | |||
|
18 | """ | |||
|
19 | import sys | |||
|
20 | import codecs | |||
|
21 | ||||
|
22 | from IPython.core.history import HistoryAccessor | |||
|
23 | ||||
|
24 | session_number = int(sys.argv[1]) | |||
|
25 | if len(sys.argv) > 2: | |||
|
26 | dest = open(sys.argv[2], "w") | |||
|
27 | raw = not sys.argv[2].endswith('.py') | |||
|
28 | else: | |||
|
29 | dest = sys.stdout | |||
|
30 | raw = True | |||
|
31 | dest.write("# coding: utf-8\n") | |||
|
32 | ||||
|
33 | # Profiles other than 'default' can be specified here with a profile= argument: | |||
|
34 | hist = HistoryAccessor() | |||
|
35 | ||||
|
36 | for session, lineno, cell in hist.get_range(session=session_number, raw=raw): | |||
|
37 | # To use this in Python 3, remove the .encode() here: | |||
|
38 | dest.write(cell.encode('utf-8') + '\n') |
General Comments 0
You need to be logged in to leave comments.
Login now