home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1725 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  2.4 KB  |  68 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import IPython.ipapi as IPython
  5. ip = IPython.ipapi.get()
  6. import os
  7. import sys
  8.  
  9. def restore_env(self):
  10.     ip = self.getapi()
  11.     env = ip.db.get('stored_env', {
  12.         'set': { },
  13.         'add': [],
  14.         'pre': [] })
  15.     for k, v in env['set'].items():
  16.         os.environ[k] = v
  17.     
  18.     for k, v in env['add']:
  19.         os.environ[k] = os.environ.get(k, '') + v
  20.     
  21.     for k, v in env['pre']:
  22.         os.environ[k] = v + os.environ.get(k, '')
  23.     
  24.     raise IPython.ipapi.TryNext
  25.  
  26. ip.set_hook('late_startup_hook', restore_env)
  27.  
  28. def persist_env(self, parameter_s = ''):
  29.     if not parameter_s.strip():
  30.         return os.environ.data
  31.     ip = self.getapi()
  32.     db = ip.db
  33.     env = ip.db.get('stored_env', {
  34.         'set': { },
  35.         'add': [],
  36.         'pre': [] })
  37.     if parameter_s.startswith('-p'):
  38.         return env
  39.     if v == '<del>':
  40.         if k in env['set']:
  41.             del env['set'][k]
  42.         
  43.         env['add'] = _[2]
  44.         env['pre'] = _[3]
  45.         print "Forgot '%s' (for next session)" % k
  46.     elif k.endswith('+'):
  47.         k = k[:-1]
  48.         env['add'].append((k, v))
  49.         os.environ[k] += v
  50.         print k, 'after append =', os.environ[k]
  51.     elif k.endswith('-'):
  52.         k = k[:-1]
  53.         env['pre'].append((k, v))
  54.         os.environ[k] = v + os.environ.get(k, '')
  55.         print k, 'after prepend =', os.environ[k]
  56.     else:
  57.         env['set'][k] = v
  58.         print 'Setting', k, 'to', v
  59.         os.environ[k] = v
  60.     db['stored_env'] = env
  61.  
  62.  
  63. def env_completer(self, event):
  64.     return os.environ.keys()
  65.  
  66. ip.expose_magic('env', persist_env)
  67. ip.set_hook('complete_command', env_completer, str_key = '%env')
  68.