Mercurial > hg > decoupage
diff decoupage/formatters.py @ 45:650e1b62a628
add order formatter (untested)
author | Jeff Hammel <jhammel@mozilla.com> |
---|---|
date | Wed, 08 Sep 2010 23:12:57 -0700 |
parents | 677e2fe1239c |
children | 8002dcdb8e82 |
line wrap: on
line diff
--- a/decoupage/formatters.py Mon Sep 06 15:25:44 2010 -0700 +++ b/decoupage/formatters.py Wed Sep 08 23:12:57 2010 -0700 @@ -96,6 +96,30 @@ data['files'] = list(reversed(data['files'])) +class Order(object): + """ + put the files in a particular order + """ + def __init__(self, pattern): + if '=' in pattern: + key, value = pattern.split('=', 1) + assert key == 'file' + self.file = value + else: + self.order = [i.strip() for i in pattern.split(',')] + + def __call__(self, request, data): + + if self.file: + raise NotImplementedError + + files = [] + file_hash = dict([(i['name'], i) for i in data['files']]) + for f in self.order: + files.append(file_hash.get(f, None)) + files = [ i for i in files if i is not None ] + + class FilenameDescription(FormatterBase): """ obtain the description from the filename