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