Beispiel #1
0
 def status(self):
     if self._status is None:
         st = self._get_status()
         if not isinstance(st, status.Status):
             st = status.get_status(st)
         self._status = st
     return self._status
Beispiel #2
0
 def status_config(self, configname):
     if self.status_forced:
         return self.status
     configuration = self.configuration(configname)
     if 'status' in configuration.keys():
         try:
             return status.get_status(configuration['status'])
         except KeyError:
             pass
     else:
         return self.status
Beispiel #3
0
 def status_config(self, configname):
     if self.status_forced:
         return self.status
     configuration = self.configuration(configname)
     if 'status' in configuration.keys():
         try:
             return status.get_status(configuration['status'])
         except KeyError:
             pass
     else:
         return self.status
Beispiel #4
0
    def status(self):
        # TODO This is horribly ugly. Consider serious refactoring.
        if self._cached_status is None:
            allowed_status_values = status.allowed_status_values()
            allowed_status_values += ['!' + x
                                      for x in status.allowed_status_values()]
            if 'pcbdetails' in self._configdata.keys():
                try:
                    policy = ConfigOptionPolicy(
                        self._validation_context,
                        ('pcbdetails', 'status'),
                        allowed_status_values,
                        default='Experimental',
                        is_error=True
                    )
                    ststr = get_dict_val(self._configdata, policy)
                except ValidationError as e:
                    ststr = e.policy.default
                    self._validation_errors.add(e)
            elif 'paneldetails' in self._configdata.keys():
                try:
                    policy = ConfigOptionPolicy(
                        self._validation_context,
                        ('paneldetails', 'status'),
                        allowed_status_values,
                        default='Experimental',
                        is_error=True
                    )
                    ststr = get_dict_val(self._configdata, policy)
                except ValidationError as e:
                    ststr = e.policy.default
                    self._validation_errors.add(e)
            else:
                e = ValidationError(ConfigOptionPolicy(
                        self._validation_context,
                        'pcbdetails', is_error=True)
                )
                e.detail = "Status not defined or not found in config file."
                ststr = None
                self._validation_errors.add(e)

            if ststr and self.status_forced:
                ststr = ststr[1:]
        else:
            ststr = self._cached_status
        return status.get_status(ststr)
Beispiel #5
0
    def status(self):
        # TODO This is horribly ugly. Consider serious refactoring.
        if self._cached_status is None:
            allowed_status_values = status.allowed_status_values()
            allowed_status_values += [
                '!' + x for x in status.allowed_status_values()
            ]
            if 'pcbdetails' in self._configdata.keys():
                try:
                    policy = ConfigOptionPolicy(self._validation_context,
                                                ('pcbdetails', 'status'),
                                                allowed_status_values,
                                                default='Experimental',
                                                is_error=True)
                    ststr = get_dict_val(self._configdata, policy)
                except ValidationError as e:
                    ststr = e.policy.default
                    self._validation_errors.add(e)
            elif 'paneldetails' in self._configdata.keys():
                try:
                    policy = ConfigOptionPolicy(self._validation_context,
                                                ('paneldetails', 'status'),
                                                allowed_status_values,
                                                default='Experimental',
                                                is_error=True)
                    ststr = get_dict_val(self._configdata, policy)
                except ValidationError as e:
                    ststr = e.policy.default
                    self._validation_errors.add(e)
            else:
                e = ValidationError(
                    ConfigOptionPolicy(self._validation_context,
                                       'pcbdetails',
                                       is_error=True))
                e.detail = "Status not defined or not found in config file."
                ststr = None
                self._validation_errors.add(e)

            if ststr and self.status_forced:
                ststr = ststr[1:]
        else:
            ststr = self._cached_status
        return status.get_status(ststr)
Beispiel #6
0
 def status(self, value):
     if not isinstance(value, Status):
         self._status = get_status(value)
     else:
         self._status = value
Beispiel #7
0
 def status(self):
     # TODO Setup validation
     try:
         return status.get_status(self._infodict['status'])
     except KeyError:
         return status.get_status('Undefined')
Beispiel #8
0
 def status(self):
     # TODO Setup validation
     try:
         return status.get_status(self._infodict['status'])
     except KeyError:
         return status.get_status('Undefined')