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. | ||||
""" | ||||
fs = glob.glob('*.?py*') | ||||
for f in fs: | ||||
l = PyLauncher(f) | ||||
n = os.path.splitext(f)[0] | ||||
ip.defalias(n, l) | ||||
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;" | ||||
vivainio
|
r851 | ip.to_user_ns("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 | |||
vivainio
|
r851 | ip.defalias('py',selflaunch) | ||
vivainio
|
r854 | ip.defalias('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() | ||||