def validate( self, raise_exceptions: Optional[bool] = True ) -> Optional[QueryObjectValidationError]: """Validate query object""" error: Optional[QueryObjectValidationError] = None all_labels = self.metric_names + self.column_names missing_series = [ col for col in self.series_columns if col not in self.columns ] if missing_series: _( "The following entries in `series_columns` are missing " "in `columns`: %(columns)s. ", columns=", ".join(f'"{x}"' for x in missing_series), ) if len(set(all_labels)) < len(all_labels): dup_labels = find_duplicates(all_labels) error = QueryObjectValidationError( _( "Duplicate column/metric labels: %(labels)s. Please make " "sure all columns and metrics have a unique label.", labels=", ".join(f'"{x}"' for x in dup_labels), )) if error and raise_exceptions: raise error return error
def _validate_no_have_duplicate_labels(self) -> None: all_labels = self.metric_names + self.column_names if len(set(all_labels)) < len(all_labels): dup_labels = find_duplicates(all_labels) raise QueryObjectValidationError( _( "Duplicate column/metric labels: %(labels)s. Please make " "sure all columns and metrics have a unique label.", labels=", ".join(f'"{x}"' for x in dup_labels), ))
def validate( self, raise_exceptions: Optional[bool] = True ) -> Optional[QueryObjectValidationError]: """Validate query object""" error: Optional[QueryObjectValidationError] = None all_labels = self.metric_names + self.column_names if len(set(all_labels)) < len(all_labels): dup_labels = find_duplicates(all_labels) error = QueryObjectValidationError( _( "Duplicate column/metric labels: %(labels)s. Please make " "sure all columns and metrics have a unique label.", labels=", ".join(f'"{x}"' for x in dup_labels), )) if error and raise_exceptions: raise error return error