def apply_rule(self, filename, id_): values = self.ui.get_values() refstart = values['start_unix_time'] interval = values['interval'] intervaln = values['interval_number'] intervalu = values['interval_unit'] endtype = values['end_type'] rend = values['end_relative_time'] rendn = values['end_relative_number'] rendu = values['end_relative_unit'] inclusive = values['inclusive'] standard = values['time_standard'] try: if standard == 'UTC': ruled = organism_basicrules_api.make_except_regularly_rule_UTC( refstart, interval, rend, inclusive, (endtype, )) else: ruled = organism_basicrules_api.make_except_regularly_rule_local( refstart, interval, rend, inclusive, (endtype, )) except organism_basicrules_api.BadRuleError: msgboxes.warn_bad_rule(msgboxes.end_time).ShowModal() else: label = self._make_label(intervaln, intervalu, refstart, rend, inclusive, endtype, rendn, rendu, standard) wxscheduler_api.apply_rule(filename, id_, ruled, label)
def create_random_rule(): refstart = int((random.gauss(_time.time(), 15000)) // 60 * 60) interval = random.randint(1, 4320) * 60 endtype = random.choice((0, 1)) rend = random.randint(1, 360) * 60 inclusive = random.choice((True, False)) stdn = random.randint(0, 1) if stdn == 0: return organism_basicrules_api.make_except_regularly_rule_local( refstart, interval, rend, inclusive, (endtype, )) else: return organism_basicrules_api.make_except_regularly_rule_UTC( refstart, interval, rend, inclusive, (endtype, ))