示例#1
0
    def create_random_rule():
        smonths = range(1, 13)
        weekday = random.randint(0, 6)
        inumber = random.randint(1, 5)
        hour = random.randint(0, 23)
        minute = random.randint(0, 59)

        endtype = random.randint(0, 2)

        if endtype == 0:
            rend = None
        else:
            rend = random.randint(1, 360) * 60

        alarmtype = random.randint(0, 2)

        if alarmtype == 0:
            ralarm = None
        else:
            ralarm = random.randint(0, 360) * 60

        stdn = random.randint(0, 1)

        if stdn == 0:
            return organism_basicrules_api.make_occur_monthly_weekday_inverse_rule_local(
                        smonths, weekday, inumber, hour, minute, rend, ralarm,
                        ('1m', endtype, alarmtype))
        else:
            return organism_basicrules_api.make_occur_monthly_weekday_inverse_rule_UTC(
                        smonths, weekday, inumber, hour, minute, rend, ralarm,
                        ('1m', endtype, alarmtype))
示例#2
0
    def apply_rule(self, filename, id_):
        values = self.ui.get_values()
        rstartin = values['start_weekday_number']
        rstartA = values['start_weekday']
        weekday = values['start_weekday_index']
        rstartH = values['start_hour']
        rstartM = values['start_minute']
        endtype = values['end_type']
        rend = values['end_relative_time']
        fend = values['end_next_day']
        rendn = values['end_relative_number']
        rendu = values['end_relative_unit']
        rendH = values['end_hour']
        rendM = values['end_minute']
        alarmtype = values['alarm_type']
        ralarm = values['alarm_relative_time']
        palarm = values['alarm_previous_day']
        ralarmn = values['alarm_relative_number']
        ralarmu = values['alarm_relative_unit']
        ralarmH = values['alarm_hour']
        ralarmM = values['alarm_minute']
        standard = values['time_standard']

        smonths = range(1, 13)

        try:
            if standard == 'UTC':
                ruled = organism_basicrules_api.make_occur_monthly_weekday_inverse_rule_UTC(
                                smonths, weekday, rstartin, rstartH, rstartM,
                                rend, ralarm, ('1m', endtype, alarmtype))
            else:
                ruled = organism_basicrules_api.make_occur_monthly_weekday_inverse_rule_local(
                                smonths, weekday, rstartin, rstartH, rstartM,
                                rend, ralarm, ('1m', endtype, alarmtype))
        except organism_basicrules_api.BadRuleError:
            msgboxes.warn_bad_rule(msgboxes.generic).ShowModal()
        else:
            label = self._make_label(rstartin, rstartA, rstartH, rstartM,
                rendH, rendM, ralarmH, ralarmM, rendn, rendu, ralarmn, ralarmu,
                endtype, alarmtype, fend, palarm, standard)
            wxscheduler_api.apply_rule(filename, id_, ruled, label)