Open
Description
If dynamo is unreachable when trying to check for table existence, a JSONDecodeError is raised, rather than a TableError. This exception should be caught, and a TableError should be raised instead.
Traceback (most recent call last):
File "/srv/service/current/manage.py", line 21, in <module>
manager.run()
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/flask_script/__init__.py", line 412, in run
result = self.handle(sys.argv[0], sys.argv[1:])
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/flask_script/__init__.py", line 383, in handle
res = handle(*args, **config)
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/flask_script/commands.py", line 216, in __call__
return self.run(*args, **kwargs)
File "/code/example/app/scripts/create_tables.py", line 21, in run
self._create_table(cls)
File "/code/example/app/scripts/create_tables.py", line 28, in _create_table
if not model_cls.exists():
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/pynamodb/models.py", line 658, in exists
cls._get_connection().describe_table()
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/pynamodb/connection/table.py", line 181, in describe_table
return self.connection.describe_table(self.table_name)
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/pynamodb/connection/base.py", line 553, in describe_table
tbl = self.get_meta_table(table_name, refresh=True)
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/pynamodb/connection/base.py", line 399, in get_meta_table
data = self.example(DESCRIBE_TABLE, operation_kwargs)
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/pynamodb/connection/base.py", line 235, in example
data = self._make_api_call(operation_name, operation_kwargs)
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/pynamodb/connection/base.py", line 266, in _make_api_call
data = response.json()
File "/usr/local/lib/service_venv/local/lib/python2.7/site-packages/botocore/vendored/requests/models.py", line 819, in json
return json.loads(self.text, **kwargs)
File "/usr/lib/python2.7/dist-packages/simplejson/__init__.py", line 488, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/dist-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/lib/python2.7/dist-packages/simplejson/decoder.py", line 389, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)