示例#1
0
 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)
示例#2
0
 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.')
示例#3
0
 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)
示例#4
0
 def test_autodetect_format_by_url(self):
     s = 'https://github.com/fabiocaccamo/python-benedict.xml'
     self.assertEqual(io_util.autodetect_format(s), 'xml')
示例#5
0
 def test_autodetect_format_by_path_with_unsupported_format(self):
     s = 'path-to/data.jpg'
     self.assertEqual(io_util.autodetect_format(s), None)
示例#6
0
 def test_autodetect_format_by_path(self):
     s = 'path-to/data.xml'
     self.assertEqual(io_util.autodetect_format(s), 'xml')
示例#7
0
 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')
示例#8
0
 def test_autodetect_format_by_data(self):
     s = '{"a": 1, "b": 2, "c": 3}'
     self.assertEqual(io_util.autodetect_format(s), None)