def test_of(self):
        url = SectionUrl.of(['303', '1'], 'vvv', False)
        self.assertEquals('#303-1', url)

        url = SectionUrl.of(['303', '1', 'b'], 'vvv', False)
        self.assertEquals('#303-1-b', url)

        url = SectionUrl.of(['303'], 'vvv', False)
        self.assertEquals('#303', url)

        url = SectionUrl.of(['303', '1', 'b'], 'vvv', True)
        self.assertEquals('/303-1/vvv#303-1-b', url)

        self.assertTrue('999-88/verver#999-88-e' in
                        SectionUrl.of(['999', '88', 'e'], 'verver', True))
        self.assertEqual(
            '#999-88-e', SectionUrl.of(['999', '88', 'e'], 'verver', False))

        self.assertEqual(
            '#999-Subpart-Interp',
            SectionUrl.of(['999', 'Subpart', 'Interp'], 'verver', False))
        self.assertEqual(
            '#999-Subpart-A-Interp',
            SectionUrl.of(['999', 'Subpart', 'A', 'Interp'], 'verver', False))
        self.assertEqual(
            '#999-Appendices-Interp',
            SectionUrl.of(['999', 'Appendices', 'Interp'], 'verver', False))
    def test_of(self):
        url = SectionUrl.of(['303', '1'], 'vvv', False)
        self.assertEquals('#303-1', url)

        url = SectionUrl.of(['303', '1', 'b'], 'vvv', False)
        self.assertEquals('#303-1-b', url)

        url = SectionUrl.of(['303'], 'vvv', False)
        self.assertEquals('#303', url)

        url = SectionUrl.of(['303', '1', 'b'], 'vvv', True)
        self.assertEquals('/303-1/vvv#303-1-b', url)

        self.assertTrue('999-88/verver#999-88-e' in SectionUrl.of(
            ['999', '88', 'e'], 'verver', True))
        self.assertEqual('#999-88-e',
                         SectionUrl.of(['999', '88', 'e'], 'verver', False))

        self.assertEqual(
            '#999-Subpart-Interp',
            SectionUrl.of(['999', 'Subpart', 'Interp'], 'verver', False))
        self.assertEqual(
            '#999-Subpart-A-Interp',
            SectionUrl.of(['999', 'Subpart', 'A', 'Interp'], 'verver', False))
        self.assertEqual(
            '#999-Appendices-Interp',
            SectionUrl.of(['999', 'Appendices', 'Interp'], 'verver', False))
예제 #3
0
 def get(self, request, *args, **kwargs):
     """Override this method so that we can grab the GET variables"""
     kwargs["version"] = request.GET.get("from_version")
     kwargs["back_url"] = SectionUrl.of(kwargs["label_id"].split("-"), kwargs["version"], sectional=True)
     kwargs["fr_page"] = request.GET.get("fr_page")
     if kwargs["fr_page"] and kwargs["fr_page"].isdigit():
         kwargs["fr_page"] = int(kwargs["fr_page"])
     return super(ParagraphSXSView, self).get(request, *args, **kwargs)
예제 #4
0
def _add_extra(el, version):
    """Add extra fields to a TOC element -- only added to elements we will
    use for prev/next"""
    if el.get('is_section'):
        el['markup_prefix'] = '§ '
    elif el.get('is_subterp'):
        el['markup_prefix'] = 'Interpretations For '
    el['url'] = SectionUrl.of(el['index'], version, sectional=True)
    return el
예제 #5
0
 def get(self, request, *args, **kwargs):
     """Override this method so that we can grab the GET variables"""
     kwargs['version'] = request.GET.get('from_version')
     kwargs['back_url'] = SectionUrl.of(
         kwargs['label_id'].split('-'), kwargs['version'], sectional=True)
     kwargs['fr_page'] = request.GET.get('fr_page')
     if kwargs['fr_page'] and kwargs['fr_page'].isdigit():
         kwargs['fr_page'] = int(kwargs['fr_page'])
     return super(ParagraphSXSView, self).get(request, *args,
                                              **kwargs)
예제 #6
0
 def get(self, request, *args, **kwargs):
     """Override this method so that we can grab the GET variables"""
     kwargs['version'] = request.GET.get('from_version')
     kwargs['back_url'] = SectionUrl.of(kwargs['label_id'].split('-'),
                                        kwargs['version'],
                                        sectional=True)
     kwargs['fr_page'] = request.GET.get('fr_page')
     if kwargs['fr_page'] and kwargs['fr_page'].isdigit():
         kwargs['fr_page'] = int(kwargs['fr_page'])
     return super(ParagraphSXSView, self).get(request, *args, **kwargs)
예제 #7
0
    def apply_layer(self, text_index):
        if text_index in self.layer:
            layer_elements = self.layer[text_index]

            toc_list = []
            for data in layer_elements:
                if 'Subpart' in data['index']:
                    toc_list.append(toc_subpart(data, toc_list, self.layer))
                elif 'Interp' in data['index']:
                    toc_list.append(toc_interp(data, toc_list, self.layer))
                else:
                    toc_list.append(toc_sect_appendix(data, toc_list))

            for el in toc_list:
                el['url'] = SectionUrl.of(el['index'], self.version,
                                          self.sectional)
                for sub in el.get('sub_toc', []):
                    sub['url'] = SectionUrl.of(sub['index'], self.version,
                                               self.sectional)
            return ('TOC', toc_list)
예제 #8
0
    def get(self, request, *args, **kwargs):
        """Override this method so that we can grab the GET variables
        and properly handle any errors."""
        kwargs['version'] = request.GET.get('from_version')
        kwargs['back_url'] = SectionUrl.of(kwargs['label_id'].split('-'),
                                           kwargs['version'],
                                           sectional=True)
        kwargs['fr_page'] = request.GET.get('fr_page')
        if kwargs['fr_page'] and kwargs['fr_page'].isdigit():
            kwargs['fr_page'] = int(kwargs['fr_page'])

        try:
            return super(ParagraphSXSView, self).get(request, *args, **kwargs)
        except error_handling.MissingContentException as e:
            raise Http404