コード例 #1
0
ファイル: query_object.py プロジェクト: krsnik93/superset
    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
コード例 #2
0
 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),
             ))
コード例 #3
0
 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