##// END OF EJS Templates
Add new commands refresh and refresh_timer (mapped to "R"/"F5"...
Add new commands refresh and refresh_timer (mapped to "R"/"F5" and to the menu) which restarts the iterator once (refresh) or after every x seconds (refresh_timer). Add a working implementation of "searchexpression", where the text entered is not the text to search for, but an expression that must be true. Added display of shortcuts to the menu. Added commands "pickinput" and "pickinputattr" that put the object or attribute under the cursor in the input line. Split the statusbar to be able to display the currently active refresh interval. (Patch by Nik Tautenhahn)

File last commit:

r680:5a2d2c1b
r708:c2a1e430
Show More
ipy_exportdb.py
73 lines | 1.9 KiB | text/x-python | PythonLexer
import IPython.ipapi
ip = IPython.ipapi.get()
import os,pprint
def export(filename = None):
lines = ['import IPython.ipapi', 'ip = IPython.ipapi.get()','']
vars = ip.db.keys('autorestore/*')
vars.sort()
varstomove = []
get = ip.db.get
macros = []
variables = []
for var in vars:
k = os.path.basename(var)
v = get(var)
if k.startswith('_'):
continue
if isinstance(v, IPython.macro.Macro):
macros.append((k,v))
if type(v) in [int, str, float]:
variables.append((k,v))
if macros:
lines.extend(['# === Macros ===' ,''])
for k,v in macros:
lines.append("ip.defmacro('%s'," % k)
for line in v.value.splitlines():
lines.append(' ' + repr(line+'\n'))
lines.extend([')', ''])
if variables:
lines.extend(['','# === Variables ===',''])
for k,v in variables:
varstomove.append(k)
lines.append('%s = %s' % (k,repr(v)))
lines.append('ip.to_user_ns("%s")' % (' '.join(varstomove)))
bkms = ip.db.get('bookmarks',{})
if bkms:
lines.extend(['','# === Bookmarks ===',''])
lines.append("ip.db['bookmarks'] = %s " % pprint.pformat(bkms, indent = 2) )
aliases = ip.db.get('stored_aliases', {} )
if aliases:
lines.extend(['','# === Alias definitions ===',''])
for k,v in aliases.items():
lines.append("ip.defalias('%s', %s)" % (k, repr(v[1])))
env = ip.db.get('stored_env')
if env:
lines.extend(['','# === Stored env vars ===',''])
lines.append("ip.db['stored_env'] = %s " % pprint.pformat(env, indent = 2) )
out = '\n'.join(lines)
if filename:
open(filename,'w').write(out)
else:
print out