annotate piecrust/processing/sass.py @ 196:154b8df04829

processing: Add Compass and Sass processors. The Sass processor is similar to the Less processor, i.e. it tries to be part of the structured pipeline processing by using the mapfile produced by the Sass compiler in order to provide a list of dependencies. The Compass processor is completely acting outside of the pipeline, so the server won't know what's up to date and what's not. It's expected that the user will run `compass watch` to keep things up to date. However, it will require to pass the server's cache directory to put things in, so we'll need to add some easy way to get that path for the user.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 11 Jan 2015 23:08:49 -0800
parents
children c2ca72fb7f0b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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