Example #1
0
    def recordsWithDirectoryBasedDelegates(self):
        """
        Fetch calendar-enabled locations and resources which have proxy
        groups assigned.
        """

        expression = CompoundExpression(
            (
                BooleanExpression(CalFieldName.hasCalendars),
                CompoundExpression(
                    (
                        ExistsExpression(CalFieldName.readOnlyProxy),
                        ExistsExpression(CalFieldName.readWriteProxy)
                    ),
                    Operand.OR
                )
            ),
            Operand.AND
        )

        records = yield self.recordsFromExpression(
            expression,
            recordTypes=(self.recordType.location, self.recordType.resource)
        )
        returnValue(records)
Example #2
0
def booleanExpressionFromJSON(service, json):
    try:
        jsonField = json["field"]
    except KeyError as e:
        raise ValueError("JSON match expression must have {!r} key.".format(
            e[0]))

    fieldName = service.fieldName.lookupByName(jsonField)

    return BooleanExpression(fieldName)