'Ensure the information from the Tomato router is up to date.
Return boolean if scanning successful.'

def _update_tomato_info(self):

    self.logger.info('Scanning')
    try:
        response = requests.Session().send(self.req, timeout=3)
        if (response.status_code == 200):
            for (param, value) in self.parse_api_pattern.findall(response.text):
                if ((param == 'wldev') or (param == 'dhcpd_lease')):
                    self.last_results[param] = json.loads(value.replace("'", '"'))
            return True
        elif (response.status_code == 401):
            self.logger.exception('Failed    to    authenticate,    please    check    your    username    and    password')
            return False
    except requests.exceptions.ConnectionError:
        self.logger.exception('Failed    to    connect    to    the    router    or    invalid    http_id    supplied')
        return False
    except requests.exceptions.Timeout:
        self.logger.exception('Connection    to    the    router    timed    out')
        return False
    except ValueError:
        self.logger.exception('Failed    to    parse    response    from    router')
        return False
