home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.6)
-
- import IPython.ipapi as IPython
- ip = IPython.ipapi.get()
- import os
- import sys
-
- def restore_env(self):
- ip = self.getapi()
- env = ip.db.get('stored_env', {
- 'set': { },
- 'add': [],
- 'pre': [] })
- for k, v in env['set'].items():
- os.environ[k] = v
-
- for k, v in env['add']:
- os.environ[k] = os.environ.get(k, '') + v
-
- for k, v in env['pre']:
- os.environ[k] = v + os.environ.get(k, '')
-
- raise IPython.ipapi.TryNext
-
- ip.set_hook('late_startup_hook', restore_env)
-
- def persist_env(self, parameter_s = ''):
- if not parameter_s.strip():
- return os.environ.data
- ip = self.getapi()
- db = ip.db
- env = ip.db.get('stored_env', {
- 'set': { },
- 'add': [],
- 'pre': [] })
- if parameter_s.startswith('-p'):
- return env
- if v == '<del>':
- if k in env['set']:
- del env['set'][k]
-
- env['add'] = _[2]
- env['pre'] = _[3]
- print "Forgot '%s' (for next session)" % k
- elif k.endswith('+'):
- k = k[:-1]
- env['add'].append((k, v))
- os.environ[k] += v
- print k, 'after append =', os.environ[k]
- elif k.endswith('-'):
- k = k[:-1]
- env['pre'].append((k, v))
- os.environ[k] = v + os.environ.get(k, '')
- print k, 'after prepend =', os.environ[k]
- else:
- env['set'][k] = v
- print 'Setting', k, 'to', v
- os.environ[k] = v
- db['stored_env'] = env
-
-
- def env_completer(self, event):
- return os.environ.keys()
-
- ip.expose_magic('env', persist_env)
- ip.set_hook('complete_command', env_completer, str_key = '%env')
-