From 4111a1e0d2884e726fb26f72d8a98659f8e547cd Mon Sep 17 00:00:00 2001 From: Sassan Haradji Date: Sun, 7 Aug 2016 22:01:59 +0430 Subject: [PATCH 1/3] added compiler_options field --- pipeline/compilers/__init__.py | 5 +++-- pipeline/packager.py | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/pipeline/compilers/__init__.py b/pipeline/compilers/__init__.py index f9f75261..3dc7e46b 100644 --- a/pipeline/compilers/__init__.py +++ b/pipeline/compilers/__init__.py @@ -26,7 +26,7 @@ def __init__(self, storage=None, verbose=False): def compilers(self): return [to_class(compiler) for compiler in settings.COMPILERS] - def compile(self, paths, force=False): + def compile(self, paths, compiler_options, force=False): def _compile(input_path): for compiler in self.compilers: compiler = compiler(verbose=self.verbose, storage=self.storage) @@ -38,7 +38,8 @@ def _compile(input_path): outfile = compiler.output_path(infile, compiler.output_extension) outdated = compiler.is_outdated(infile, outfile) compiler.compile_file(infile, outfile, - outdated=outdated, force=force) + outdated=outdated, force=force, + **compiler_options) return compiler.output_path(input_path, compiler.output_extension) else: diff --git a/pipeline/packager.py b/pipeline/packager.py index eed7e6a1..7f878747 100644 --- a/pipeline/packager.py +++ b/pipeline/packager.py @@ -59,6 +59,10 @@ def variant(self): def manifest(self): return self.config.get('manifest', True) + @property + def compiler_options(self): + return self.config.get('compiler_options', {}) + class Packager(object): def __init__(self, storage=None, verbose=False, css_packages=None, js_packages=None): @@ -95,14 +99,22 @@ def pack_stylesheets(self, package, **kwargs): output_filename=package.output_filename, variant=package.variant, **kwargs) - def compile(self, paths, force=False): - return self.compiler.compile(paths, force=force) + def compile(self, paths, compiler_options, force=False): + return self.compiler.compile( + paths, + force=force, + compiler_options=compiler_options, + ) def pack(self, package, compress, signal, **kwargs): output_filename = package.output_filename if self.verbose: print("Saving: %s" % output_filename) - paths = self.compile(package.paths, force=True) + paths = self.compile( + package.paths, + force=True, + compiler_options=package.compiler_options, + ) content = compress(paths, **kwargs) self.save_file(output_filename, content) signal.send(sender=self, package=package, **kwargs) From db3fd2c21bc0ee8d0dd0cae5e33007b311985ae2 Mon Sep 17 00:00:00 2001 From: Sassan Haradji Date: Sun, 7 Aug 2016 22:16:29 +0430 Subject: [PATCH 2/3] - --- pipeline/packager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pipeline/packager.py b/pipeline/packager.py index 7f878747..b2cab680 100644 --- a/pipeline/packager.py +++ b/pipeline/packager.py @@ -99,11 +99,11 @@ def pack_stylesheets(self, package, **kwargs): output_filename=package.output_filename, variant=package.variant, **kwargs) - def compile(self, paths, compiler_options, force=False): + def compile(self, paths, compiler_options={}, force=False): return self.compiler.compile( paths, - force=force, compiler_options=compiler_options, + force=force, ) def pack(self, package, compress, signal, **kwargs): @@ -112,8 +112,8 @@ def pack(self, package, compress, signal, **kwargs): print("Saving: %s" % output_filename) paths = self.compile( package.paths, - force=True, compiler_options=package.compiler_options, + force=True, ) content = compress(paths, **kwargs) self.save_file(output_filename, content) From bdb4acde2fc0fa855f0bb7ccdbb66368371664f0 Mon Sep 17 00:00:00 2001 From: Sassan Haradji Date: Sat, 13 May 2017 07:23:56 +0430 Subject: [PATCH 3/3] Backward compatibility --- pipeline/compilers/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pipeline/compilers/__init__.py b/pipeline/compilers/__init__.py index 3dc7e46b..4f78b499 100644 --- a/pipeline/compilers/__init__.py +++ b/pipeline/compilers/__init__.py @@ -26,7 +26,7 @@ def __init__(self, storage=None, verbose=False): def compilers(self): return [to_class(compiler) for compiler in settings.COMPILERS] - def compile(self, paths, compiler_options, force=False): + def compile(self, paths, compiler_options={}, force=False): def _compile(input_path): for compiler in self.compilers: compiler = compiler(verbose=self.verbose, storage=self.storage)