Conjunto de mudanças 6538 no repositório publico


Ignorar:
Timestamp:
21/06/2012 00:47:12 (9 anos atrás)
Autor:
mazza
Mensagem:

mais refatoracao: nomes melhores

Localização:
PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis
Arquivos:
3 editados

Legenda:

Não Modificado
Adicionado
Removido
  • PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/browser/boxes/manager.py

    r6537 r6538  
    2525_template_factory = Environment(loader=PackageLoader(__name__))
    2626
    27 def template(template_name):
    28     return _template_factory.get_template(template_name)
    29 
     27get_template = _template_factory.get_template
    3028
    3129class BoxAware(object):
     
    3533    def get_box_data(self, context, key):
    3634        annotations = IAnnotations(context)
    37         boxes = get_or_create_from_dict(annotations, self.ALL_BOXES_KEY)
    38         return get_or_create_from_dict(boxes, key)
     35        boxes = self.get_or_create_from_dict(annotations, self.ALL_BOXES_KEY)
     36        return self.get_or_create_from_dict(boxes, key)
    3937
    4038    def erase_box_data(self, context, key):
     
    4442            del boxes[key]
    4543
     44    @classmethod
     45    def get_or_create_from_dict(cls, dictionary, key, type_to_create=PersistentDict):
     46        value = dictionary.get(key, None)
     47        if not value:
     48            dictionary[key] = value = type_to_create()
     49        return value
     50
    4651
    4752class BaseBox(BoxAware):
     
    5459
    5560    def __call__(self, context):
    56         return template('basebox.html').render(
     61        return get_template('basebox.html').render(
    5762            box=self,
    5863            has_permission=self.has_permission(context),
     
    8893
    8994    def inner_render(self, context):
    90         templ = template(self.schema.__name__.lower() + '.html')
    91         return templ.render(self.get_data_from(context))
    92 
    93     def get_data_from(self, context):
     95        templ = get_template(self.schema.__name__.lower() + '.html')
     96        return templ.render(self.get_data(context))
     97
     98    def get_data(self, context):
    9499        return self.get_box_data(context, self.id)
    95100
    96     def erase_data_from(self, context):
     101    def erase_data(self, context):
    97102        self.erase_box_data(context, self.id)
    98103
     
    104109
    105110    edit_href = form_name  # To be overridden independently
    106 
    107 def get_or_create_from_dict(dictionary, key, type_to_create=PersistentDict):
    108     value = dictionary.get(key, None)
    109     if not value:
    110         dictionary[key] = value = type_to_create()
    111     return value
    112111
    113112def build_box_form(box):
     
    125124
    126125        def getContent(self):
    127             return box.get_data_from(self.context)
     126            return box.get_data(self.context)
    128127
    129128        def render(self):
     
    182181        `row_spec` is a sequence of cell specs: [(width, schema, number), ...]
    183182        """
    184         return template('dtrow.html').render(cells=self.cells(context))
     183        return get_template('dtrow.html').render(cells=self.cells(context))
    185184
    186185
  • PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/tests/testintegration.py

    r6537 r6538  
    6868
    6969    def test_box_content_is_empty_before_visiting_form(self):
    70         self.assertEqual({}, Box(ISimpleBox, 1).get_data_from(self.portal))
     70        self.assertEqual({}, Box(ISimpleBox, 1).get_data(self.portal))
    7171
    7272    def test_using_box_form_creates_box_content(self):
     
    8686        use_box_form('TIT_1', 'SUBTIT_1', 'TEXT_1', 'ALVO_1', box_1)
    8787        self.assertEqual({'title': 'TIT_1', 'subtitle': 'SUBTIT_1', 'text': 'TEXT_1', 'target': None},
    88                          box_1.get_data_from(context))
     88                         box_1.get_data(context))
    8989
    9090        # a second one to test there is no mutual interference
     
    9292        use_box_form('TIT_2', 'SUBTIT_2', 'TEXT_2', 'ALVO_2', box_2)
    9393        self.assertEqual({'title': 'TIT_2', 'subtitle': 'SUBTIT_2', 'text': 'TEXT_2', 'target': None},
    94                          box_2.get_data_from(context))
     94                         box_2.get_data(context))
    9595
    9696    def test_box_forms_are_limited(self):
  • PortalInterlegis/produtos/il.portalinterlegis/trunk/src/il/portalinterlegis/tests/testunitboxes.py

    r6536 r6538  
    1313    def test_box_render_basic(self):
    1414
    15         with patch('il.portalinterlegis.browser.boxes.manager._template_factory', TemplateFactoryStub()):
     15        with patch('il.portalinterlegis.browser.boxes.manager.get_template', get_template_stub):
    1616
    1717            box = Box(IStubBox, 1)
    18             box.get_data_from = Mock(return_value={'var': 'XXXX'})
     18            box.get_data = Mock(return_value={'var': 'XXXX'})
    1919            context = object()
    2020            self.assertMultiLineEqual('''
     
    2323</div>
    2424'''.strip('\n'), box(context))
    25             box.get_data_from.assert_called_with(context)
     25            box.get_data.assert_called_with(context)
    2626
    2727    def test_box_render_editable(self):
    28         with patch('il.portalinterlegis.browser.boxes.manager._template_factory', TemplateFactoryStub()):
     28        with patch('il.portalinterlegis.browser.boxes.manager.get_template', get_template_stub):
    2929            with patch('il.portalinterlegis.browser.boxes.manager.getSecurityManager') as security_mock:
    3030                security_mock.checkPermission.return_value = True
    3131
    3232                box = Box(IStubBox, 1)
    33                 box.get_data_from = Mock(return_value={'var': 'XXXX'})
     33                box.get_data = Mock(return_value={'var': 'XXXX'})
    3434                context = object()
    3535                self.assertMultiLineEqual('''
     
    4141</div>
    4242'''.strip('\n'), box(context))
    43                 box.get_data_from.assert_called_with(context)
     43                box.get_data.assert_called_with(context)
    4444
    4545    def test_row_structure(self):
     
    7070    pass
    7171
    72 from il.portalinterlegis.browser.boxes.manager import _template_factory, BaseBox
    7372from jinja2 import Template
    74 
    75 
    76 class TemplateFactoryStub(object):
    77 
    78     def get_template(self, name):
    79         if name == "istubbox.html":
    80             return Template("{{var}}")
    81         elif name == "basebox.html":
    82             return _template_factory.get_template(name)
    83         else:
    84             raise AssertionError("Unexpected name: [%s]" % name)
     73def get_template_stub(name):
     74    if name == "istubbox.html":
     75        return Template("{{var}}")
     76    elif name == "basebox.html":
     77        from il.portalinterlegis.browser.boxes.manager import _template_factory
     78        return _template_factory.get_template(name)
     79    else:
     80        raise AssertionError("Unexpected name: [%s]" % name)
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.