Beispiel #1
0
    def post_process(self):

        self.min_time_of_day = RuleSetSectionHandler.read_time_of_day(
            p_time_of_day=self.min_time_of_day)
        self.max_time_of_day = RuleSetSectionHandler.read_time_of_day(
            p_time_of_day=self.max_time_of_day)

        if (self.min_time_of_day is not None
                and self.max_time_of_day is not None
                and self.min_time_of_day >= self.max_time_of_day):
            msg = "Maximum time of day '{max_time_of_day}' must be later than minimum time of day '{min_time_of_day}'" \
                  " for user '{user}' and context '{context}'"
            raise configuration.ConfigurationException(
                msg.format(min_time_of_day=tools.get_time_as_string(
                    self.min_time_of_day),
                           max_time_of_day=tools.get_time_as_string(
                               self.max_time_of_day),
                           user=self.username,
                           context=self.label))

        self.max_time_per_day = tools.get_string_as_duration(
            p_string=self.max_time_per_day)
        self.max_activity_duration = tools.get_string_as_duration(
            p_string=self.max_activity_duration)
        self.min_break = tools.get_string_as_duration(p_string=self.min_break)
Beispiel #2
0
    def process_formdata(self, valuelist):
        if valuelist:
            try:
                self.data = tools.get_string_as_duration(p_string=valuelist[0])
                self.invalid_data = None

            except Exception as e:

                self.invalid_data = valuelist[0]
                raise wtforms.validators.ValidationError(message=str(e))
        else:
            self.data = None
            self.invalid_data = None
Beispiel #3
0
def test_get_string_as_duration_invalid_time():
    with pytest.raises(configuration.ConfigurationException):
        tools.get_string_as_duration(p_string="12x")

    with pytest.raises(configuration.ConfigurationException):
        tools.get_string_as_duration(p_string="12h23")

    with pytest.raises(configuration.ConfigurationException):
        tools.get_string_as_duration(p_string="X")
Beispiel #4
0
def test_get_string_as_duration_none():
    assert tools.get_string_as_duration(p_string=None) is None
Beispiel #5
0
def test_get_string_as_duration_empty_string():
    assert tools.get_string_as_duration(p_string="") is None
Beispiel #6
0
def test_get_string_as_duration_valid_time():
    assert 12 * 60 * 60 == tools.get_string_as_duration(p_string="12h")
    assert 12 * 60 * 60 + 23 * 60 == tools.get_string_as_duration(
        p_string="12h23m")
    assert 12 * 60 * 60 + 23 * 60 + 45 == tools.get_string_as_duration(
        p_string="12h23m45s")