@task(run_every=timedelta(minutes=15), default_retry_delay=2, max_retries=3)
    def import_observation(self, **metadata):
        api = ApiWrapper()
        observations, location = api.get_observations_by_location(self.observations_location_id)
        latest_day = sorted(observations)[-1]
        latest_hour = sorted(observations[latest_day], key=lambda x: int(x))[-1]
        latest = observations[latest_day][latest_hour]
        observation, created = Weather.objects.get_or_create(
            location_id=self.observations_location_id,
            ptype=PTYPE_OBSERVATION)
        observation.name = location['name']
        observation.temperature = float(latest['T'])
        observation.wind_speed = int(latest['S'])
        observation.wind_direction = latest['D']
        observation.pressure = int(latest['P'])
        observation.observed_date = datetime.combine(latest_day,
                time(60/int(latest_hour)))
        outlooks = dict(METOFFICE_OUTLOOK_CHOICES)
        observation.outlook = outlooks[int(latest['W'])]
        #observation.humidity = not available
        #observation.pressure_state = not available
        observation.save()
dataset/ETHPy150Open mollyproject/mollyproject/molly/apps/weather/providers/metoffice.py/MetOfficeProvider.import_observation/swapped operands of `/`