<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_cron(self, client, event, seconds="*", minutes="*", hours="*"):
 """Add a cron entry. The arguments for this event are: 1. The name of the event to dispatch when the cron fires. 2. What seconds to trigger on, as a timespec (default "*") 3. What minutes to trigger on, as a timespec (default "*") 4. What hours to trigger on, as a timespec (default "*") Timespecs may be omitted in reverse order of frequency - if hours is omitted, the previous timespecs will be applied every hour. If both hours and minutes are omitted, the seconds timespec will be applied every minute of every hour, and if all timespecs are omitted, the event will fire each second. Timespecs are strings in the following formats: Plain integer - specifies that exact value for the unit. "?" - specifies a random value from 0 to the unit max. "?/X" - specifies all multiples of X for this unit, randomly offset by a fixed amount (e.g. ?/15 might become 4,19,34,49). "*" - specifies all values for the unix from 0 to max. "*/X" - specifies all multiples of X for the unit. Any number of these can be combined in a comma-separated list. For instance, "*/15" would be the same as "0,15,30,45" if used in the seconds field. """

        for cron in self.crons:
            if cron.event == event:
                _log.warning("Cron '%s' is already registered.", event)
                return True

        _log.info("Registering cron for '%s'.", event)
        cron = Cron(event, seconds, minutes, hours)
        self.crons.append(cron)
        return True