コード例 #1
0
    def test_layer(self, api_client):
        to_return = {'example': 1}
        api_client.ApiClient.return_value.get.return_value = to_return
        reader = ApiReader()
        self.assertEqual(
            to_return,
            reader.layer("layer-here", "label-here", "date-here"))
        get = api_client.ApiClient.return_value.get
        self.assertEqual(1, get.call_count)
        param = api_client.ApiClient.return_value.get.call_args[0][0]
        self.assertTrue('layer-here' in param)
        self.assertTrue('label' in param)   # grabs the root
        self.assertTrue('date-here' in param)

        #   Cache
        self.assertEqual(
            to_return,
            reader.layer("layer-here", "label-abc", "date-here"))
        self.assertEqual(1, get.call_count)

        self.assertEqual(
            to_return,
            reader.layer("layer-here", "lablab", "date-here"))
        self.assertEqual(2, get.call_count)
        param = get.call_args[0][0]
        self.assertTrue('layer-here' in param)
        self.assertTrue('lablab' in param)
        self.assertTrue('date-here' in param)
コード例 #2
0
    def test_layer(self, fetch):
        to_return = {'example': 1}
        fetch.return_value = to_return
        reader = ApiReader()
        self.assertEqual(
            to_return,
            reader.layer("layer-here", "cfr", "label-here", "version-here"))
        self.assertEqual(1, fetch.call_count)
        param = fetch.call_args[0][0]
        self.assertIn('layer-here/cfr/version-here/label', param)
        self.assertNotIn('label-here', param)   # only grabs the root, "label"

        #   Cache
        self.assertEqual(
            to_return,
            reader.layer("layer-here", "cfr", "label-abc", "version-here"))
        self.assertEqual(1, fetch.call_count)

        self.assertEqual(
            to_return,
            reader.layer("layer-here", "cfr", "lablab", "version-here"))
        self.assertEqual(2, fetch.call_count)
        param = fetch.call_args[0][0]
        self.assertIn('layer-here/cfr/version-here/lablab', param)

        self.assertEqual(
            to_return,
            reader.layer("layer-here", "preamble", "lablab"))
        self.assertEqual(3, fetch.call_count)
        param = fetch.call_args[0][0]
        self.assertIn('layer-here/preamble/lablab', param)
コード例 #3
0
    def test_layer(self, api_client):
        to_return = {'example': 1}
        api_client.ApiClient.return_value.get.return_value = to_return
        reader = ApiReader()
        self.assertEqual(
            to_return,
            reader.layer("layer-here", "cfr", "label-here", "version-here"))
        get = api_client.ApiClient.return_value.get
        self.assertEqual(1, get.call_count)
        param = api_client.ApiClient.return_value.get.call_args[0][0]
        self.assertIn('layer-here/cfr/version-here/label', param)
        self.assertNotIn('label-here', param)   # only grabs the root, "label"

        #   Cache
        self.assertEqual(
            to_return,
            reader.layer("layer-here", "cfr", "label-abc", "version-here"))
        self.assertEqual(1, get.call_count)

        self.assertEqual(
            to_return,
            reader.layer("layer-here", "cfr", "lablab", "version-here"))
        self.assertEqual(2, get.call_count)
        param = get.call_args[0][0]
        self.assertIn('layer-here/cfr/version-here/lablab', param)

        self.assertEqual(
            to_return,
            reader.layer("layer-here", "preamble", "lablab"))
        self.assertEqual(3, get.call_count)
        param = get.call_args[0][0]
        self.assertIn('layer-here/preamble/lablab', param)
コード例 #4
0
    def test_layer(self, api_client):
        to_return = {'example': 1}
        api_client.ApiClient.return_value.get.return_value = to_return
        reader = ApiReader()
        self.assertEqual(to_return,
                         reader.layer("layer-here", "label-here", "date-here"))
        get = api_client.ApiClient.return_value.get
        self.assertEqual(1, get.call_count)
        param = api_client.ApiClient.return_value.get.call_args[0][0]
        self.assertTrue('layer-here' in param)
        self.assertTrue('label' in param)  # grabs the root
        self.assertTrue('date-here' in param)

        #   Cache
        self.assertEqual(to_return,
                         reader.layer("layer-here", "label-abc", "date-here"))
        self.assertEqual(1, get.call_count)

        self.assertEqual(to_return,
                         reader.layer("layer-here", "lablab", "date-here"))
        self.assertEqual(2, get.call_count)
        param = get.call_args[0][0]
        self.assertTrue('layer-here' in param)
        self.assertTrue('lablab' in param)
        self.assertTrue('date-here' in param)
コード例 #5
0
ファイル: toc.py プロジェクト: jmcarp/regulations-site
def fetch_toc(reg_part, version, flatten=False):
    """Fetch the toc, transform it into a list usable by navigation, etc."""
    api = ApiReader()
    toc = api.layer('toc', reg_part, version)

    toc_list = []
    if reg_part in toc:
        for data in toc[reg_part]:
            if 'Subpart' in data['index']:
                toc_list.append(toc_subpart(data, toc_list, toc))
            elif 'Subjgrp' in data['index']:
                toc_list.append(toc_subjgrp(data, toc_list, toc))
            elif 'Interp' in data['index']:
                toc_list.append(toc_interp(data, toc_list, toc))
            else:
                toc_list.append(toc_sect_appendix(data, toc_list))
    if flatten:
        flattened = []
        for el in toc_list:
            if 'sub_toc' in el:
                flattened.extend(el['sub_toc'])
            else:
                flattened.append(el)
        return flattened
    return toc_list
コード例 #6
0
ファイル: toc.py プロジェクト: adborden/regulations-site
def fetch_toc(reg_part, version, flatten=False):
    """Fetch the toc, transform it into a list usable by navigation, etc."""
    api = ApiReader()
    toc = api.layer('toc', reg_part, version)

    toc_list = []
    if reg_part in toc:
        for data in toc[reg_part]:
            if 'Subpart' in data['index']:
                toc_list.append(toc_subpart(data, toc_list, toc))
            elif 'Subjgrp' in data['index']:
                toc_list.append(toc_subjgrp(data, toc_list, toc))
            elif 'Interp' in data['index']:
                toc_list.append(toc_interp(data, toc_list, toc))
            else:
                toc_list.append(toc_sect_appendix(data, toc_list))
    if flatten:
        flattened = []
        for el in toc_list:
            if 'sub_toc' in el:
                flattened.extend(el['sub_toc'])
            else:
                flattened.append(el)
        return flattened
    return toc_list