##// END OF EJS Templates
Fixing a few small bugs in the setup.py scripts. In setupbase.py, in find_scripts, ipython...
Fixing a few small bugs in the setup.py scripts. In setupbase.py, in find_scripts, ipython was spelled as lowercase. This didn't cause a problem on OS X as it is case insensitive. But on Linux, it crashed. Now ipython is spelled properly as "IPython". Also, kernel/config/tests and UserConfig were missing their __init__.py files. These have been added.

File last commit:

r1234:52b55407
r1254:19bd8e77
Show More
parallelfunction.py
31 lines | 1.2 KiB | text/x-python | PythonLexer
# encoding: utf-8
"""A parallelized function that does scatter/execute/gather."""
__docformat__ = "restructuredtext en"
#-------------------------------------------------------------------------------
# Copyright (C) 2008 The IPython Development Team
#
# Distributed under the terms of the BSD License. The full license is in
# the file COPYING, distributed as part of this software.
#-------------------------------------------------------------------------------
#-------------------------------------------------------------------------------
# Imports
#-------------------------------------------------------------------------------
from types import FunctionType
class ParallelFunction:
"""A function that operates in parallel on sequences."""
def __init__(self, func, multiengine, targets, block):
"""Create a `ParallelFunction`.
"""
assert isinstance(func, (str, FunctionType)), "func must be a fuction or str"
self.func = func
self.multiengine = multiengine
self.targets = targets
self.block = block
def __call__(self, sequence):
return self.multiengine.map(self.func, sequence, targets=self.targets, block=self.block)