'Retrieve the latest data.'

@util.Throttle(MIN_TIME_BETWEEN_SCANS, MIN_TIME_BETWEEN_FORCED_SCANS)
def update(self):

    try:
        self._state = self.refresh_state()
        channel = self._client.get_current_channel()
        if (channel is not None):
            self._current_program = self._client.program
            self._current_channel = channel.get('name', None)
            self._media_image_url = self._client.get_current_channel_image(img_size=300)
            self.refresh_channel_list()
    except requests.ConnectionError:
        self._state = STATE_OFF
