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: