'Try and parse the JSON returned from Twitter and return
an empty dictionary if there is any error.
This is a purely defensive check because during some Twitter
network outages it will return an HTML failwhale page.'

def _ParseAndCheckTwitter(self, json_data):

    try:
        data = json.loads(json_data)
        self._CheckForTwitterError(data)
    except ValueError:
        if ('<title>Twitter    /    Over    capacity</title>' in json_data):
            raise TwitterError({'message': 'Capacity    Error'})
        if ('<title>Twitter    /    Error</title>' in json_data):
            raise TwitterError({'message': 'Technical    Error'})
        if ('Exceeded    connection    limit    for    user' in json_data):
            raise TwitterError({'message': 'Exceeded    connection    limit    for    user'})
        raise TwitterError({'message': 'json    decoding'})
    return data
