'Get the latest data from BOM.'

@Throttle(MIN_TIME_BETWEEN_UPDATES)
def update(self):

    if ((self._lastupdate != 0) and ((datetime.datetime.now() - self._lastupdate) < datetime.timedelta(minutes=35))):
        _LOGGER.info('BOM    was    updated    %s    minutes    ago,    skipping    update    as    <    35    minutes', (datetime.datetime.now() - self._lastupdate))
        return self._lastupdate
    try:
        result = requests.get(self._build_url(), timeout=10).json()
        self.data = result['observations']['data'][0]
        self._lastupdate = datetime.datetime.strptime(str(self.data['local_date_time_full']), '%Y%m%d%H%M%S')
        return self._lastupdate
    except ValueError as err:
        _LOGGER.error('Check    BOM    %s', err.args)
        self.data = None
        raise
