Exemple #1
0
    def _request_file_info(self, file_or_folder_path, **options):
        url = self._download_request_path()
        code_name = self.code
        options['params']['qopts.export'] = 'true'

        request_type = RequestType.get_request_type(url, **options)

        updated_options = Util.convert_options(request_type=request_type,
                                               **options)

        r = Connection.request(request_type, url, **updated_options)

        response_data = r.json()

        file_info = response_data['datatable_bulk_download']['file']

        status = file_info['status']

        if status == 'fresh':
            file_link = file_info['link']
            self._download_file_with_link(file_or_folder_path, file_link,
                                          code_name)
            return True
        else:
            return False
 def test_convert_options_get_request_all_param_types(self):
     options = {
         'params': {
             'foo': 'bar',
             'ticker': ['AAPL', 'MSFT'],
             'per_end_date': {
                 'gte': '2015-01-01'
             },
             'qopts': {
                 'columns': ['ticker', 'per_end_date'],
                 'per_page': 5
             }
         }
     }
     expected_result = {
         'params': {
             'foo': 'bar',
             'qopts.per_page': 5,
             'per_end_date.gte': '2015-01-01',
             'ticker[]': ['AAPL', 'MSFT'],
             'qopts.columns[]': ['ticker', 'per_end_date']
         }
     }
     result = Util.convert_options(request_type='get', **options)
     self.assertEqual(cmp(result, expected_result), 0)
    def test_convert_options_get_request_with_dictionary_params_and_array_values(
            self):
        options = {'params': {'foo': {'bar': ['baz', 'bax']}}}
        expected_result = {'params': {'foo.bar[]': ['baz', 'bax']}}

        result = Util.convert_options(request_type='get', **options)
        self.assertEqual(cmp(result, expected_result), 0)
    def test_convert_options(self):
        options = {
            'params': {
                'ticker': ['AAPL', 'MSFT'],
                'per_end_date': {
                    'gte': {'2015-01-01'}
                },
                'qopts': {
                    'columns': ['ticker', 'per_end_date'],
                    'per_page': 5
                }
            }
        }
        expect_result = {
            'params': {
                'qopts.per_page': 5,
                'per_end_date.gte': set(['2015-01-01']),
                'ticker[]': ['AAPL', 'MSFT'],
                'qopts.columns[]': ['ticker', 'per_end_date']
            }
        }
        result = Util.convert_options(**options)
        self.assertEqual(cmp(result, expect_result), 0)

        options = {
            'params': {
                'ticker': 'AAPL',
                'per_end_date': {
                    'gte': {'2015-01-01'}
                },
                'qopts': {
                    'columns': ['ticker', 'per_end_date']
                }
            }
        }
        expect_result = {
            'params': {
                'per_end_date.gte': set(['2015-01-01']),
                'ticker': 'AAPL',
                'qopts.columns[]': ['ticker', 'per_end_date']
            }
        }
        result = Util.convert_options(**options)
        self.assertEqual(cmp(result, expect_result), 0)
Exemple #5
0
 def test_convert_options_get_request_all_param_types(self):
     options = {'params': {'foo': 'bar',
                           'ticker': ['AAPL', 'MSFT'],
                           'per_end_date': {'gte': '2015-01-01'},
                           'qopts': {'columns': ['ticker', 'per_end_date'],
                                     'per_page': 5}}}
     expected_result = {'params': {'foo': 'bar',
                                   'qopts.per_page': 5,
                                   'per_end_date.gte': '2015-01-01',
                                   'ticker[]': ['AAPL', 'MSFT'],
                                   'qopts.columns[]': ['ticker', 'per_end_date']}}
     result = Util.convert_options(request_type='get', **options)
     self.assertEqual(cmp(result, expected_result), 0)
Exemple #6
0
    def page(cls, datatable, **options):
        params = {'id': str(datatable.code)}
        path = Util.constructed_path(datatable.default_path(), params)

        request_type = RequestType.get_request_type(path, **options)

        updated_options = Util.convert_options(request_type=request_type, **options)

        r = Connection.request(request_type, path, **updated_options)

        response_data = r.json()
        Util.convert_to_dates(response_data)
        resource = cls.create_datatable_list_from_response(response_data)
        return resource
    def page(cls, datatable, **options):
        params = {'id': str(datatable.code)}
        path = Util.constructed_path(datatable.default_path(), params)

        request_type = RequestType.get_request_type(path, **options)

        updated_options = Util.convert_options(request_type=request_type,
                                               **options)

        r = Connection.request(request_type, path, **updated_options)

        response_data = r.json()
        Util.convert_to_dates(response_data)
        resource = cls.create_datatable_list_from_response(response_data)
        return resource
Exemple #8
0
    def _request_file_info(self, file_or_folder_path, **options):
        url = self._download_request_path()
        code_name = self.code
        options['params']['qopts.export'] = 'true'

        request_type = RequestType.get_request_type(url, **options)

        updated_options = Util.convert_options(request_type=request_type, **options)

        r = Connection.request(request_type, url, **updated_options)

        response_data = r.json()

        file_info = response_data['datatable_bulk_download']['file']

        status = file_info['status']

        if status == 'fresh':
            file_link = file_info['link']
            self._download_file_with_link(file_or_folder_path, file_link, code_name)
            return True
        else:
            return False
Exemple #9
0
 def data(self, **options):
     updated_options = Util.convert_options(**options)
     return Data.page(self, **updated_options)
    def test_convert_options_get_request_with_array_params(self):
        options = {'params': {'foo': ['bar', 'baz']}}
        expected_result = {'params': {'foo[]': ['bar', 'baz']}}

        result = Util.convert_options(request_type='get', **options)
        self.assertEqual(cmp(result, expected_result), 0)
    def test_convert_options_get_request_with_simple_params(self):
        options = {'params': {'foo': 'bar'}}
        expected_result = options

        result = Util.convert_options(request_type='get', **options)
        self.assertEqual(cmp(result, expected_result), 0)
    def test_convert_options_post_request_with_dictionary_params(self):
        options = {'params': {'foo': {'bar': 'baz'}}}
        expected_result = {'json': {'foo.bar': 'baz'}}

        result = Util.convert_options(request_type='post', **options)
        self.assertEqual(cmp(result, expected_result), 0)
    def test_convert_options_post_request_with_empty_params(self):
        options = {'params': {}}
        expected_result = {'json': {}}

        result = Util.convert_options(request_type='post', **options)
        self.assertEqual(cmp(result, expected_result), 0)
Exemple #14
0
    def test_convert_options_get_request_with_simple_params(self):
        options = {'params': {'foo': 'bar'}}
        expected_result = options

        result = Util.convert_options(request_type='get', **options)
        self.assertEqual(cmp(result, expected_result), 0)
Exemple #15
0
    def test_convert_options_post_request_with_series_params(self):
        options = {'params': {'foo': pandas.Series(['bar', 'baz'])}}
        expected_result = {'json': options['params']}

        result = Util.convert_options(request_type='post', **options)
        self.assertEqual(cmp(result, expected_result), 0)
Exemple #16
0
    def test_convert_options_post_request_with_empty_params(self):
        options = {'params': {}}
        expected_result = {'json': {}}

        result = Util.convert_options(request_type='post', **options)
        self.assertEqual(cmp(result, expected_result), 0)
Exemple #17
0
    def test_convert_options_get_request_with_dictionary_params_and_array_values(self):
        options = {'params': {'foo': {'bar': ['baz', 'bax']}}}
        expected_result = {'params': {'foo.bar[]': ['baz', 'bax']}}

        result = Util.convert_options(request_type='get', **options)
        self.assertEqual(cmp(result, expected_result), 0)
Exemple #18
0
    def test_convert_options_get_request_with_array_params(self):
        options = {'params': {'foo': ['bar', 'baz']}}
        expected_result = {'params': {'foo[]': ['bar', 'baz']}}

        result = Util.convert_options(request_type='get', **options)
        self.assertEqual(cmp(result, expected_result), 0)
 def data(self, **options):
     updated_options = Util.convert_options(**options)
     return Data.page(self, **updated_options)
Exemple #20
0
    def test_convert_options_post_request_with_dictionary_params(self):
        options = {'params': {'foo': {'bar': 'baz'}}}
        expected_result = {'json': {'foo.bar': 'baz'}}

        result = Util.convert_options(request_type='post', **options)
        self.assertEqual(cmp(result, expected_result), 0)