<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def time_remaining(self, zone):
 """ Returns the amount of watering time left in seconds. :param zone: The zone to check. :type zone: int :returns: If the zone is not running returns 0. If the zone doesn't exist returns None. Otherwise returns number of seconds left in the watering cycle. :rtype: None or seconds left in the waterting cycle. """


        self.update_controller_info()

        if zone < 0 or zone > (self.num_relays-1):
            return None

        if self.is_zone_running(zone):
            return int(self.running[0]['time_left'])

        return 0