ipy_kitcfg.py
80 lines
| 2.0 KiB
| text/x-python
|
PythonLexer
vivainio
|
r851 | import os,sys | ||
import ipy_rehashdir,glob | ||||
from ipy_rehashdir import selflaunch, PyLauncher | ||||
def pylaunchers(): | ||||
"""Create launchers for python scripts in cwd and store them in alias table | ||||
This is useful if you want to invoke .py scripts from ipykit session, | ||||
just adding .py files in PATH does not work without file association. | ||||
.ipy files will be run like macros. | ||||
""" | ||||
vivainio
|
r861 | fs = glob.glob('*.py') + glob.glob('*.ipy') | ||
vivainio
|
r851 | for f in fs: | ||
l = PyLauncher(f) | ||||
n = os.path.splitext(f)[0] | ||||
Brian Granger
|
r2205 | ip.define_alias(n, l) | ||
vivainio
|
r851 | ip.magic('store '+n) | ||
def exta_imports(): | ||||
# add some modules that you'd want to be bundled in the ipykit | ||||
# library zip file here. Do this if you get ImportErrors from scripts you | ||||
# try to launch with 'py' or pylaunchers. In theory you could include | ||||
# the whole stdlib here for full script coverage | ||||
# note that this is never run, it's just here for py2exe | ||||
import distutils.dir_util | ||||
vivainio
|
r854 | def kitroot(): | ||
return os.environ.get('IPYKITROOT', None) | ||||
vivainio
|
r851 | def main(): | ||
vivainio
|
r854 | |||
if not kitroot(): | ||||
vivainio
|
r851 | print "Can't configure ipykit, IPYKITROOT should be set." | ||
return | ||||
vivainio
|
r854 | |||
os.environ["PATH"] = os.environ["PATH"] + ";" + kitroot() + "\\bin;" | ||||
Brian Granger
|
r2205 | ip.push("pylaunchers") | ||
vivainio
|
r854 | cmds = ip.db.get('syscmdlist', None) | ||
if cmds is None: | ||||
ip.magic('rehashx') | ||||
cmds = ip.db.get('syscmdlist', []) | ||||
#print cmds | ||||
if 'sc1' in cmds: | ||||
print "Default editor: Sc1" | ||||
import ipy_editors | ||||
ipy_editors.scite('sc1') | ||||
vivainio
|
r851 | |||
vivainio
|
r854 | # for icp, imv, imkdir, etc. | ||
import ipy_fsops | ||||
greeting = """\n\n === Welcome to ipykit === | ||||
%quickref - learn quickly about IPython. | ||||
""" | ||||
vivainio
|
r851 | |||
def ipython_firstrun(ip): | ||||
vivainio
|
r854 | |||
vivainio
|
r851 | print "First run of ipykit - configuring" | ||
vivainio
|
r854 | |||
Brian Granger
|
r2205 | ip.define_alias('py',selflaunch) | ||
ip.define_alias('d','dir /w /og /on') | ||||
vivainio
|
r851 | ip.magic('store py') | ||
ip.magic('store d') | ||||
vivainio
|
r854 | |||
bins = kitroot() +'/bin' | ||||
vivainio
|
r851 | |||
vivainio
|
r854 | print greeting | ||
vivainio
|
r851 | def init_ipython(ipy): | ||
global ip | ||||
ip = ipy | ||||
main() | ||||