Selaa lähdekoodia

initial version of script for ipython

pull/29/head
Joël Schaerer 14 vuotta sitten
vanhempi
commit
82d3e14c1f
2 muutettua tiedostoa jossa 34 lisäystä ja 0 poistoa
  1. +1
    -0
      .gitignore
  2. +33
    -0
      tools/autojump_ipython.py

+ 1
- 0
.gitignore Näytä tiedosto

@ -1 +1,2 @@
tags
*.pyc

+ 33
- 0
tools/autojump_ipython.py Näytä tiedosto

@ -0,0 +1,33 @@
# This module was contributed by Mario Pastorelli <pastorelli.mario@gmail.com>
# It is released in the public domain
import os
import subprocess as sub
from IPython.ipapi import get
from IPython.iplib import InteractiveShell
# Export the environment variable pointing to the autojump storage dir
ip = get()
ip.magic('env AUTOJUMP_DATA_DIR=/home/rief/.local/share/autojump')
def magic_j(self,parameter_s=''):
cmd = ['autojump']+parameter_s.split()
# print 'executing autojump with args %s' % str(cmd)
newpath=sub.Popen(cmd,stdout=sub.PIPE,shell=False).communicate()[0][:-1] # delete last '\n'
# print 'Autojump answer: \'%s\'' % newpath
ip.magic('cd \'%s\'' % newpath)
def cd_decorator(f):
def autojump_cd_monitor(self,parameter_s=''):
f(self,parameter_s)
# print 'Calling autojump -a '+str(parameter_s.split())
sub.call(['autojump','-a']+parameter_s.split())
return autojump_cd_monitor
# Add the new magic function to the class dict and decorate magic_cd:
InteractiveShell.magic_j = magic_j
InteractiveShell.magic_cd = cd_decorator(InteractiveShell.magic_cd)
# And remove the global name to keep global namespace clean.
del magic_j
del cd_decorator

Ladataan…
Peruuta
Tallenna