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