def __init__(self, schema_parser, schema_name): self.profile_opts = { # Task execution time 'hour': self._set_hour, 'minute': self._set_minute, 'month': self._set_month, 'day': self._set_day, 'weekday': self._set_weekday, } self.options = { # Task scheduling profile 'profile': self._set_profile, # Task command 'command': self._set_command, # Task options 'enabled': self._set_enabled, 'addtoinv': self._set_addtoinv, 'saveto': self._set_saveto, 'mailto': self._set_mailto, 'smtp': self._set_smtp } self.__schema_name = schema_name self.schema_parser = schema_parser self.last_check = None self.cron_parser = CronParser() self.profiles = Path.sched_profiles self.setup_schema(self.schema_name)
def _save_profile(self, event): """ Save scheduling profile. """ pname = self.schedp_name.get_active_text() if not len(pname): dlg = HIGAlertDialog(self, message_format=_('Scheduling Profile - Error \ while saving'), secondary_text=_("You need to specify a name \ for Profile.")) dlg.run() dlg.destroy() return parser = CronParser() minute = self.cron_minute.get_text() hour = self.cron_hour.get_text() day = self.cron_day.get_text() month = self.cron_month.get_text() weekday = self.cron_weekday.get_text() try: parser.parse_minute(minute) parser.parse_hour(hour) parser.parse_day(day) parser.parse_month(month) parser.parse_weekday(weekday) except Exception, e: dlg = HIGAlertDialog(self, message_format=_('Scheduling Profile - Error \ while saving'), secondary_text=_("Check your cron syntax and \ try to save again.")) dlg.run() dlg.destroy() return