def _decode_init(s, **kwargs): autodetected_format = io_util.autodetect_format(s) default_format = autodetected_format or 'json' format = kwargs.pop('format', default_format).lower() if format in ['b64', 'base64']: kwargs.setdefault('subformat', 'json') # decode data-string and initialize with dict data. return IODict._decode(s, format, **kwargs)
def _decode_init(s, **kwargs): default_format = io_util.autodetect_format(s, default='json') format = kwargs.pop('format', default_format).lower() if format in ['b64', 'base64']: kwargs.setdefault('subformat', 'json') # decode data-string and initialize with dict data. try: d = IODict._decode(s, format, **kwargs) return d except ValueError: raise ValueError('Invalid string data input.')
def test_autodetect_format_by_url_with_unsupported_format(self): s = 'https://github.com/fabiocaccamo/python-benedict.jpg' self.assertEqual(io_util.autodetect_format(s), None)
def test_autodetect_format_by_url(self): s = 'https://github.com/fabiocaccamo/python-benedict.xml' self.assertEqual(io_util.autodetect_format(s), 'xml')
def test_autodetect_format_by_path_with_unsupported_format(self): s = 'path-to/data.jpg' self.assertEqual(io_util.autodetect_format(s), None)
def test_autodetect_format_by_path(self): s = 'path-to/data.xml' self.assertEqual(io_util.autodetect_format(s), 'xml')
def test_autodetect_format_by_data_with_default(self): s = '{"a": 1, "b": 2, "c": 3}' self.assertEqual(io_util.autodetect_format(s, default='json'), 'json')
def test_autodetect_format_by_data(self): s = '{"a": 1, "b": 2, "c": 3}' self.assertEqual(io_util.autodetect_format(s), None)