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: |
