Commit ac73ec2d by Timothée Peignier

improve the way we do thread it

parent a0ea33ac
......@@ -27,20 +27,11 @@ class Compiler(object):
return [to_class(compiler) for compiler in settings.PIPELINE_COMPILERS]
def compile(self, paths, force=False):
def _compile(args):
try:
compiler = args[0]
compiler.compile_file(*args[1:])
except CompilerError:
if not self.storage.exists(output_path) or settings.DEBUG:
raise
files = []
for index, input_path in enumerate(paths):
def _compile(input_path):
for compiler in self.compilers:
compiler = compiler(verbose=self.verbose, storage=self.storage)
if compiler.match_file(input_path):
output_path = self.output_path(input_path, compiler.output_extension)
paths[index] = output_path
infile = finders.find(input_path)
outfile = finders.find(output_path)
if outfile is None:
......@@ -48,9 +39,15 @@ class Compiler(object):
outdated = True
else:
outdated = self.is_outdated(input_path, output_path)
files.append((compiler, infile, outfile, outdated, force))
self.pool.map(_compile, files)
return paths
try:
compiler.compile_file(infile, outfile, outdated=outdated, force=force)
except CompilerError:
if not self.storage.exists(output_path) or settings.DEBUG:
raise
return output_path
else:
return input_path
return self.pool.map(_compile, paths)
def output_path(self, path, extension):
path = os.path.splitext(path)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment