Ejemplo n.º 1
0
Archivo: forms.py Proyecto: hmpf/nav
    def clean(self):
        cleaned_data = super(ThresholdForm, self).clean()
        if 'target' not in cleaned_data:
            raise forms.ValidationError('Target is required')

        period = cleaned_data.get('period')
        if not period and is_interface(cleaned_data['target']):
            cleaned_data['period'] = parse_interval('15m')
        return cleaned_data
Ejemplo n.º 2
0
    def clean_period(self):
        """Verify that period is correctly formatted"""
        period = self.cleaned_data['period']
        if not period:
            return None

        try:
            period = parse_interval(period)
        except ValueError:
            raise forms.ValidationError('Invalid period')

        return period
Ejemplo n.º 3
0
    def get_timeout_for(self, option):
        """Gets an integer timeout value from option in the timeouts section.

        :param option: An option name in the timeouts section, or an integer.
        :return: An integer number of seconds parsed from option. If the
                 option is not present, None is returned.  If option itself is
                 an int, option is returned unchanged.

        """
        if isinstance(option, (int, long)):
            return option
        try:
            return parse_interval(self.get('timeouts', option))
        except (NoSectionError, NoOptionError):
            pass
Ejemplo n.º 4
0
    def get_timeout_for(self, option):
        """Gets an integer timeout value from option in the timeouts section.

        :param option: An option name in the timeouts section, or an integer.
        :return: An integer number of seconds parsed from option. If the
                 option is not present, None is returned.  If option itself is
                 an int, option is returned unchanged.

        """
        if isinstance(option, (int, long)):
            return option
        try:
            return parse_interval(self.get('timeouts', option))
        except (NoSectionError, NoOptionError):
            pass
Ejemplo n.º 5
0
    def from_config_section(cls, config, section):
        """Creates a JobDescriptor from a ConfigParser section"""
        if section.startswith(JOB_PREFIX):
            jobname = section[len(JOB_PREFIX):]
        else:
            raise InvalidJobSectionName(section)

        interval = parse_interval(config.get(section, 'interval'))
        if interval < 1:
            raise ValueError("Interval for job %s is too short: %s" %
                             (jobname, config.get(section, 'interval')))

        intensity = (config.getint(section, 'intensity') if config.has_option(
            section, 'intensity') else 0)

        plugins = _parse_plugins(config.get(section, 'plugins'))
        if not plugins:
            raise ValueError("Plugin list for job %s is empty" % jobname)

        description = (_parse_description(config.get(section, 'description'))
                       if config.has_option(section, 'description') else '')

        return cls(jobname, interval, intensity, plugins, description)
Ejemplo n.º 6
0
    def from_config_section(cls, config, section):
        """Creates a JobDescriptor from a ConfigParser section"""
        if section.startswith(JOB_PREFIX):
            jobname = section[len(JOB_PREFIX):]
        else:
            raise InvalidJobSectionName(section)

        interval = parse_interval(config.get(section, 'interval'))
        if interval < 1:
            raise ValueError("Interval for job %s is too short: %s" % (
                jobname, config.get(section, 'interval')))

        intensity = (config.getint(section, 'intensity')
                     if config.has_option(section, 'intensity') else 0)

        plugins = _parse_plugins(config.get(section, 'plugins'))
        if not plugins:
            raise ValueError("Plugin list for job %s is empty" % jobname)

        description = (_parse_description(config.get(section, 'description'))
                       if config.has_option(section, 'description') else '')

        return cls(jobname, interval, intensity, plugins, description)
Ejemplo n.º 7
0
 def clean(self):
     cleaned_data = super(ThresholdForm, self).clean()
     period = cleaned_data.get('period')
     if not period and is_interface(cleaned_data['target']):
         cleaned_data['period'] = parse_interval('15m')
     return cleaned_data