Conjunto de mudanças 6510 no repositório publico
- Timestamp:
- 16/06/2012 19:39:47 (9 anos atrás)
- Localização:
- PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis
- Arquivos:
-
- 1 adicionado
- 2 editados
Legenda:
- Não Modificado
- Adicionado
- Removido
-
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/browser/boxes/manager.py
r6509 r6510 24 24 template_factory = Environment(loader=PackageLoader(__name__)) 25 25 26 class BaseBox(object): 26 class TemplateAware(object): 27 28 @property 29 def template(self): 30 return template_factory.get_template(self.template_name) 31 32 33 class BaseBox(TemplateAware): 27 34 """Base abstract class for editable boxes. 28 35 """ 29 36 30 TEMPLATE_NAME= 'basebox.html'37 template_name = 'basebox.html' 31 38 32 39 def __init__(self, permission=ModifyPortalContent): … … 34 41 35 42 def __call__(self, context): 36 basebox_template = template_factory.get_template(self.TEMPLATE_NAME) 37 return basebox_template.render( 43 return self.template.render( 38 44 box = self, 39 45 has_permission = self.has_permission(context), … … 131 137 132 138 # ROWS 133 class DtRow( object):139 class DtRow(TemplateAware): 134 140 135 ROW_TEMPLATE = ''' 136 <div class="dt-row">%s 137 </div>''' 138 139 CELL_TEMPLATE = ''' 140 <div class="dt-cell dt-position-%s dt-width-%s">%s 141 </div>''' 141 template_name = 'dtrow.html' 142 142 143 143 def __init__(self, *row_spec): 144 144 try: 145 for (width, template) in row_spec: pass145 for (width, renderable) in row_spec: pass 146 146 except ValueError, e: 147 147 e.args += row_spec … … 149 149 self.row_spec = row_spec 150 150 151 def _cells(self, context):152 """Iterates transforming each cell spec from (width, template) to153 (position, width, rendered_html)151 def cells(self, context): 152 """Iterates transforming each cell spec from (width, renderable) to 153 a dict of {position, width, rendered_html} 154 154 """ 155 155 position = 0 156 for (width, template) in self.row_spec:157 yield (position, width, template(context))156 for (width, renderable) in self.row_spec: 157 yield dict(position=position, width=width, html=renderable(context)) 158 158 position += width 159 159 … … 162 162 `row_spec` is a sequence of cell specs: [(width, schema, number), ...] 163 163 """ 164 return self.ROW_TEMPLATE % ''.join( 165 [self.CELL_TEMPLATE % cell for cell in self._cells(context)]) 164 return self.template.render(cells = self.cells(context)) 166 165 167 166 -
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/tests/testunitboxes.py
r6509 r6510 80 80 </div> 81 81 </div> 82 ''', DtRow((1, Mock(return_value=" \nAAA")),83 (2, Mock(return_value=" \nBBB")),84 (3, Mock(return_value=" \nCCC")),85 (1, Mock(return_value=" \nDDD"))).render(context))82 ''', DtRow((1, Mock(return_value="AAA")), 83 (2, Mock(return_value="BBB")), 84 (3, Mock(return_value="CCC")), 85 (1, Mock(return_value="DDD"))).render(context)) 86 86 87 87 … … 97 97 if name == "istubbox.html": 98 98 return Template("{{var}}") 99 elif name == BaseBox.TEMPLATE_NAME:100 return template_factory.get_template( BaseBox.TEMPLATE_NAME)99 elif name == "basebox.html": 100 return template_factory.get_template(name) 101 101 else: 102 raise AssertionError 103 102 raise AssertionError("Unexpected name: [%s]" % name)
Note: Veja
TracChangeset
para ajuda no uso do visualizador de conjunto de mudanças.