<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update_when_older(self, days):
 """ Update TLD list cache file if the list is older than number of days given in parameter `days` or if does not exist. :param int days: number of days from last change :return: True if update was successful, False otherwise :rtype: bool """


        last_cache = self._get_last_cachefile_modification()
        if last_cache is None:
            return self.update()

        time_to_update = last_cache + timedelta(days=days)

        if datetime.now() >= time_to_update:
            return self.update()

        return True