code: def list_tables():
      
      tables = []
  
      try:
          table_list = DYNAMODB_CONNECTION.list_tables()
          while True:
              for table_name in table_list[u'TableNames']:
                  tables.append(get_table(table_name))
  
              if u'LastEvaluatedTableName' in table_list:
                  table_list = DYNAMODB_CONNECTION.list_tables(
                      table_list[u'LastEvaluatedTableName'])
              else:
                  break
  
      except DynamoDBResponseError as error:
          dynamodb_error = error.body['__type'].rsplit('#', 1)[1]
  
          if dynamodb_error == 'ResourceNotFoundException':
              logger.error('No tables found')
          elif dynamodb_error == 'AccessDeniedException':
              logger.debug(
                  'Your AWS API keys lack access to listing tables. '
                  'That is an issue if you are trying to use regular '
                  'expressions in your table configuration.')
          elif dynamodb_error == 'UnrecognizedClientException':
              logger.error(
                  'Invalid security token. Are your AWS API keys correct?')
          else:
              logger.error(
                  (
                      'Unhandled exception: {0}: {1}. '
                      'Please file a bug report at '
                      'https://github.com/sebdah/dynamic-dynamodb/issues'
                  ).format(
                      dynamodb_error,
                      error.body['message']))
  
      except JSONResponseError as error:
          logger.error('Communication error: {0}'.format(error))
          sys.exit(1)
  
      return tables
docs: Return list of DynamoDB tables available from AWS
  
      :returns: list -- List of DynamoDB tables