Exemple #1
0
    def _sqlalchemy(cls, column, regex_list, match_on, _dialect, **kwargs):
        if match_on not in ["any", "all"]:
            raise ValueError("match_on must be any or all")

        if len(regex_list) == 0:
            raise ValueError("At least one regex must be supplied in the regex_list.")

        regex_expression = get_dialect_regex_expression(column, regex_list[0], _dialect)
        if regex_expression is None:
            logger.warning(f"Regex is not supported for dialect {str(_dialect)}")
            raise NotImplementedError

        if match_on == "any":
            condition = sa.or_(
                *(
                    get_dialect_regex_expression(column, regex, _dialect)
                    for regex in regex_list
                )
            )
        else:
            condition = sa.and_(
                *(
                    get_dialect_regex_expression(column, regex, _dialect)
                    for regex in regex_list
                )
            )
        return condition
Exemple #2
0
    def _sqlalchemy(cls, column, regex_list, _dialect, **kwargs):
        if len(regex_list) == 0:
            raise ValueError(
                "At least one regex must be supplied in the regex_list.")

        regex_expression = get_dialect_regex_expression(column,
                                                        regex_list[0],
                                                        _dialect,
                                                        positive=False)
        if regex_expression is None:
            logger.warning("Regex is not supported for dialect %s" %
                           str(_dialect))
            raise NotImplementedError

        return sa.and_(*(get_dialect_regex_expression(
            column, regex, _dialect, positive=False) for regex in regex_list))
Exemple #3
0
    def _sqlalchemy(cls, column, regex, _dialect, **kwargs):
        regex_expression = get_dialect_regex_expression(column, regex, _dialect)
        if regex_expression is None:
            logger.warning(
                f"Regex is not supported for dialect {str(_dialect.dialect.name)}"
            )
            raise NotImplementedError

        return regex_expression
    def _sqlalchemy(cls, column, regex, _dialect, **kwargs):
        regex_expression = get_dialect_regex_expression(
            column, regex, _dialect, positive=False
        )
        if regex_expression is None:
            logger.warning("Regex is not supported for dialect %s" % str(_dialect))
            raise NotImplementedError

        return regex_expression