Mercurial > piecrust2
comparison piecrust/sources/autoconfig.py @ 248:3f740928043a
sources: The ordered source returns names without prefixes in `listPath`.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 19 Feb 2015 23:34:53 -0800 |
parents | f130365568ff |
children | f512905ae812 |
comparison
equal
deleted
inserted
replaced
247:d9d5c5de02a8 | 248:3f740928043a |
---|---|
252 raise Exception("No such path: %s" % rel_path) | 252 raise Exception("No such path: %s" % rel_path) |
253 | 253 |
254 items = [] | 254 items = [] |
255 names = sorted(os.listdir(path)) | 255 names = sorted(os.listdir(path)) |
256 for name in names: | 256 for name in names: |
257 clean_name = self.re_pattern.sub('', name) | |
258 clean_name, _ = os.path.splitext(clean_name) | |
257 if os.path.isdir(os.path.join(path, name)): | 259 if os.path.isdir(os.path.join(path, name)): |
258 if filter_page_dirname(name): | 260 if filter_page_dirname(name): |
259 rel_subdir = os.path.join(rel_path, name) | 261 rel_subdir = os.path.join(rel_path, name) |
260 items.append((True, name, rel_subdir)) | 262 items.append((True, clean_name, rel_subdir)) |
261 else: | 263 else: |
262 if filter_page_filename(name): | 264 if filter_page_filename(name): |
263 slug = self._makeSlug(os.path.join(rel_path, name)) | 265 slug = self._makeSlug(os.path.join(rel_path, name)) |
264 | 266 |
265 fac_path = name | 267 fac_path = name |
270 config = self._extractConfigFragment(fac_path) | 272 config = self._extractConfigFragment(fac_path) |
271 metadata = {'slug': slug, 'config': config} | 273 metadata = {'slug': slug, 'config': config} |
272 fac = PageFactory(self, fac_path, metadata) | 274 fac = PageFactory(self, fac_path, metadata) |
273 | 275 |
274 name, _ = os.path.splitext(name) | 276 name, _ = os.path.splitext(name) |
275 items.append((False, name, fac)) | 277 items.append((False, clean_name, fac)) |
276 return items | 278 return items |
277 | 279 |
278 def _makeSlug(self, rel_path): | 280 def _makeSlug(self, rel_path): |
279 slug, ext = os.path.splitext(rel_path) | 281 slug, ext = os.path.splitext(rel_path) |
280 if ext.lstrip('.') not in self.supported_extensions: | 282 if ext.lstrip('.') not in self.supported_extensions: |