def setUp(self): inline, par, sr = Mock(), Mock(), Mock() inline.get_layer_pairs.return_value = [] par.apply_layers.side_effect = lambda x: x sr.get_layer_pairs.return_value = [] self.builder = PreambleHTMLBuilder(inline, par, sr)
def test_human_label(self): self.assertEqual( 'FR #111_22', PreambleHTMLBuilder.human_label({'label': ['111_22']})) self.assertEqual( 'Section III.A.ii.4', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4', 'p1', 'p8']}))
def generate_html_tree(subtree, request, id_prefix=None): """Use the HTMLBuilder to generate a version of this subtree with appropriate markup. Currently, includes no layers""" layer_creator = LayerCreator() doc_id = "-".join(subtree["label"]) layer_creator.add_layers(utils.layer_names(request), "preamble", doc_id, sectional=True) builder = PreambleHTMLBuilder( *layer_creator.get_appliers(), id_prefix=id_prefix, index_prefix=[0, subtree.get("lft")] ) builder.tree = subtree builder.generate_html() return {"node": builder.tree, "markup_page_type": "reg-section"}
def generate_html_tree(subtree, request): """Use the HTMLBuilder to generate a version of this subtree with appropriate markup. Currently, includes no layers""" layer_creator = LayerCreator() doc_id = '-'.join(subtree['label']) layer_creator.add_layers(utils.layer_names(request), 'preamble', doc_id, sectional=True) builder = PreambleHTMLBuilder(*layer_creator.get_appliers()) builder.tree = subtree builder.generate_html() return {'node': builder.tree, 'markup_page_type': 'reg-section'}
def generate_html_tree(subtree, request, id_prefix=None): """Use the HTMLBuilder to generate a version of this subtree with appropriate markup. Currently, includes no layers""" doc_id = '-'.join(subtree['label']) layers = list(generator.layers( utils.layer_names(request), 'preamble', doc_id, sectional=True)) builder = PreambleHTMLBuilder(layers, id_prefix=id_prefix, index_prefix=[0, subtree.get('lft')]) builder.tree = subtree builder.generate_html() return {'node': builder.tree, 'markup_page_type': 'reg-section'}
class PreambleHTMLBuilderTest(TestCase): def setUp(self): inline, par, sr = Mock(), Mock(), Mock() inline.get_layer_pairs.return_value = [] par.apply_layers.side_effect = lambda x: x sr.get_layer_pairs.return_value = [] self.builder = PreambleHTMLBuilder(inline, par, sr) def test_human_label(self): self.assertEqual( 'FR #111_22', PreambleHTMLBuilder.human_label({'label': ['111_22']})) self.assertEqual( 'Section III.A.ii.4', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4'], 'indexes': [2, 0, 1, 3], }), ) self.assertEqual( 'Section III.A.ii.4 Paragraph 3.5', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4', 'p3', 'p7'], 'indexes': [2, 0, 1, 3, 2, 4] }), ) def test_accepts_comment(self): """All of the preamble can be commented on. Some of it is called out""" node = { 'label': ['ABCD_123', 'II', 'B', 'p4'], 'text': 'Something', 'node_type': 'preamble', 'children': [] } self.builder.process_node(node) self.assertTrue(node.get('accepts_comments')) self.assertFalse(node.get('comments_calledout')) node = { 'title': 'B. Has a title', 'label': ['ABCD_123', 'II', 'B'], 'text': 'Something', 'node_type': 'preamble', 'children': [] } self.builder.process_node(node) self.assertTrue(node.get('accepts_comments')) self.assertTrue(node.get('comments_calledout'))
def generate_html_tree(subtree, request, id_prefix=None): """Use the HTMLBuilder to generate a version of this subtree with appropriate markup. Currently, includes no layers""" layer_creator = LayerCreator() doc_id = '-'.join(subtree['label']) layer_creator.add_layers(utils.layer_names(request), 'preamble', doc_id, sectional=True) builder = PreambleHTMLBuilder(*layer_creator.get_appliers(), id_prefix=id_prefix) builder.tree = subtree builder.generate_html() return {'node': builder.tree, 'markup_page_type': 'reg-section'}
def generate_html_tree(subtree, request, id_prefix=None): """Use the HTMLBuilder to generate a version of this subtree with appropriate markup. Currently, includes no layers""" doc_id = '-'.join(subtree['label']) layers = list( generator.layers(utils.layer_names(request), 'preamble', doc_id, sectional=True)) builder = PreambleHTMLBuilder(layers, id_prefix=id_prefix, index_prefix=[0, subtree.get('lft')]) builder.tree = subtree builder.generate_html() return {'node': builder.tree, 'markup_page_type': 'reg-section'}
def test_human_label(self): self.assertEqual( 'FR #111_22', PreambleHTMLBuilder.human_label({'label': ['111_22']})) self.assertEqual( 'Section III.A.ii.4', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4'], 'indexes': [2, 0, 1, 3], }), ) self.assertEqual( 'Section III.A.ii.4 Paragraph 3.5', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4', 'p3', 'p7'], 'indexes': [2, 0, 1, 3, 2, 4] }), )
class PreambleHTMLBuilderTest(TestCase): def setUp(self): inline, par, sr = Mock(), Mock(), Mock() inline.get_layer_pairs.return_value = [] par.apply_layers.side_effect = lambda x: x sr.get_layer_pairs.return_value = [] self.builder = PreambleHTMLBuilder(inline, par, sr) def test_human_label(self): self.assertEqual( 'FR #111_22', PreambleHTMLBuilder.human_label({'label': ['111_22']})) self.assertEqual( 'Section III.A.ii.4', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4'], 'indexes': [2, 0, 1, 3], }), ) self.assertEqual( 'Section III.A.ii.4 Paragraph 3.5', PreambleHTMLBuilder.human_label({ 'label': ['111_22', 'III', 'A', 'ii', '4', 'p3', 'p7'], 'indexes': [2, 0, 1, 3, 2, 4] }), ) def test_accepts_comment(self): """All of the preamble can be commented on. Some of it is called out""" node = {'label': ['ABCD_123', 'II', 'B', 'p4'], 'text': 'Something', 'node_type': 'preamble', 'children': []} self.builder.process_node(node) self.assertTrue(node.get('accepts_comments')) self.assertFalse(node.get('comments_calledout')) node = {'title': 'B. Has a title', 'label': ['ABCD_123', 'II', 'B'], 'text': 'Something', 'node_type': 'preamble', 'children': []} self.builder.process_node(node) self.assertTrue(node.get('accepts_comments')) self.assertTrue(node.get('comments_calledout'))
def process_preamble_results(results): """Modify the results of a search over a notice preamble by adding a human-readable label, appropriate links, etc.""" results = deepcopy(results) for result in results["results"]: result["header"] = PreambleHTMLBuilder.human_label(result) if "title" in result: result["header"] += " " + title(result["title"]) result["section_id"] = "-".join([result["label"][0], "preamble"] + result["label"]) result["url"] = "{}#{}".format( reverse("chrome_preamble", kwargs={"paragraphs": "/".join(result["label"][:2])}), "-".join(result["label"]) ) return results
def process_preamble_results(results): """Modify the results of a search over a notice preamble by adding a human-readable label, appropriate links, etc.""" results = deepcopy(results) for result in results['results']: result['header'] = PreambleHTMLBuilder.human_label(result) if 'title' in result: result['header'] += ' ' + result['title'] result['section_id'] = '-'.join( [result['label'][0], 'preamble'] + result['label']) result['url'] = '{}#{}'.format( reverse( 'chrome_preamble', kwargs={'paragraphs': '/'.join(result['label'][:2])}, ), '-'.join(result['label']), ) return results
def process_preamble_results(results): """Modify the results of a search over a notice preamble by adding a human-readable label, appropriate links, etc.""" results = deepcopy(results) for result in results['results']: result['header'] = PreambleHTMLBuilder.human_label(result) if 'title' in result: result['header'] += ' ' + result['title'] result['section_id'] = '-'.join([result['label'][0], 'preamble'] + result['label']) result['url'] = '{}#{}'.format( reverse( 'chrome_preamble', kwargs={'paragraphs': '/'.join(result['label'][:2])}, ), '-'.join(result['label']), ) return results
def setUp(self): self.builder = PreambleHTMLBuilder()