Mercurial > piecrust2
annotate piecrust/processing/sass.py @ 326:1ecc0c16ba64 2.0.0a6
data: Better error message for old date formats, add `emaildate` filter.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 30 Mar 2015 14:43:08 -0700 |
parents | 154b8df04829 |
children | c2ca72fb7f0b |
rev | line source |
---|---|
196
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 import os |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
2 import os.path |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
3 import json |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 import hashlib |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 import logging |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 import platform |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 import subprocess |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
8 from piecrust.processing.base import SimpleFileProcessor |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
9 from piecrust.processing.tree import FORCE_BUILD |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
11 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 logger = logging.getLogger(__name__) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
13 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
14 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
15 class SassProcessor(SimpleFileProcessor): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
16 PROCESSOR_NAME = 'sass' |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
18 def __init__(self): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
19 super(SassProcessor, self).__init__( |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
20 extensions={'scss': 'css', 'sass': 'css'}) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
21 self._conf = None |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
22 self._map_dir = None |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
23 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
24 def initialize(self, app): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
25 super(SassProcessor, self).initialize(app) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
26 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
27 def onPipelineStart(self, pipeline): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
28 super(SassProcessor, self).onPipelineStart(pipeline) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
29 self._map_dir = os.path.join(pipeline.tmp_dir, 'sass') |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
30 if not os.path.isdir(self._map_dir): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
31 os.makedirs(self._map_dir) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
32 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
33 # Ignore include-only Sass files. |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
34 pipeline.addSkipPatterns(['_*.scss', '_*.sass']) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
35 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
36 def getDependencies(self, path): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
37 if _is_include_only(path): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
38 raise Exception("Include only Sass files should be ignored!") |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
39 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
40 map_path = self._getMapPath(path) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
41 try: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
42 with open(map_path, 'r') as f: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
43 dep_map = json.load(f) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
44 except IOError: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
45 # Map file not found... rebuild. |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
46 logger.debug("No map file found for Sass file '%s' at '%s'. " |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
47 "Rebuilding." % (path, map_path)) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
48 return FORCE_BUILD |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
49 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
50 if dep_map.get('version') != 3: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
51 logger.warning("Unknown Sass map version. Rebuilding.") |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
52 return FORCE_BUILD |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
53 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
54 sources = dep_map.get('sources', []) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
55 deps = list(map(_clean_scheme, sources)) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
56 return deps |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
57 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
58 def _doProcess(self, in_path, out_path): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
59 self._ensureInitialized() |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
60 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
61 if _is_include_only(in_path): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
62 raise Exception("Include only Sass files should be ignored!") |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
63 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
64 sourcemap = 'none' |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
65 if self.app.cache.enabled: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
66 sourcemap = 'file' |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
67 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
68 args = [self._conf['bin'], |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
69 '--sourcemap=%s' % sourcemap, |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
70 '--style', self._conf['style']] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
71 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
72 cache_dir = self._conf['cache_dir'] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
73 if cache_dir: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
74 args += ['--cache-location', cache_dir] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
75 else: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
76 args += ['--no-cache'] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
77 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
78 for lp in self._conf['load_paths']: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
79 args += ['-I', lp] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
80 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
81 args += self._conf['options'] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
82 args += [in_path, out_path] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
83 logger.debug("Processing Sass file: %s" % args) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
84 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
85 # On Windows, we need to run the process in a shell environment |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
86 # otherwise it looks like `PATH` isn't taken into account. |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
87 shell = (platform.system() == 'Windows') |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
88 try: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
89 retcode = subprocess.call(args, shell=shell) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
90 except FileNotFoundError as ex: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
91 logger.error("Tried running Sass processor with command: %s" % |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
92 args) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
93 raise Exception("Error running Sass processor. " |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
94 "Did you install it?") from ex |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
95 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
96 # The sourcemap is generated next to the CSS file... there doesn't |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
97 # seem to be any option to override that, sadly... so we need to move |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
98 # it to the cache directory. |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
99 if self.app.cache.enabled: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
100 src_map_file = out_path + '.map' |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
101 dst_map_file = self._getMapPath(in_path) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
102 try: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
103 os.rename(src_map_file, dst_map_file) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
104 except OSError: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
105 pass |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
106 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
107 if retcode != 0: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
108 raise Exception("Error occured in Sass compiler. Please check " |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
109 "log messages above for more information.") |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
110 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
111 return True |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
112 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
113 def _ensureInitialized(self): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
114 if self._conf is not None: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
115 return |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
116 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
117 self._conf = self.app.config.get('sass') or {} |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
118 self._conf.setdefault('bin', 'scss') |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
119 self._conf.setdefault('style', 'nested') |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
120 self._conf.setdefault('load_paths', []) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
121 if not isinstance(self._conf['load_paths'], list): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
122 raise Exception("The `sass/load_paths` configuration setting " |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
123 "must be an array of paths.") |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
124 self._conf.setdefault('options', []) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
125 if not isinstance(self._conf['options'], list): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
126 raise Exception("The `sass/options` configuration setting " |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
127 "must be an array of arguments.") |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
128 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
129 cache_dir = None |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
130 if self.app.cache.enabled: |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
131 cache_dir = os.path.join(self.app.cache_dir, 'sass') |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
132 self._conf.setdefault('cache_dir', cache_dir) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
133 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
134 def _getMapPath(self, path): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
135 map_name = "%s_%s.map" % ( |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
136 os.path.basename(path), |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
137 hashlib.md5(path.encode('utf8')).hexdigest()) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
138 map_path = os.path.join(self._map_dir, map_name) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
139 return map_path |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
140 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
141 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
142 def _clean_scheme(p): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
143 if p.startswith('file://'): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
144 return p[7:] |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
145 return p |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
146 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
147 |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
148 def _is_include_only(path): |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
149 name = os.path.basename(path) |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
150 return len(name) > 0 and name[0] == '_' |
154b8df04829
processing: Add Compass and Sass processors.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
151 |