def compare(value1, operation, value2):
        """
        Perform comparison operation over two arguments.
        The operation can be performed over values of any type.

        :param value1: the first argument to compare

        :param operation: the comparison operation: "==" ("=", "EQ"), "!= " ("<>", "NE"); "<"/">"
                                                    ("LT"/"GT"), "<="/">=" ("LE"/"GE"); "LIKE".

        :param value2: the second argument to compare

        :return: result of the comparison operation
        """
        if operation == None:
            return False
        
        operation = operation.upper()

        if operation in ["=", "==", "EQ"]:
            return ObjectComparator.are_equal(value1, value2)
        if operation in ["!=", "<>", "NE"]:
            return ObjectComparator.are_not_equal(value1, value2)
        if operation in ["<", "LT"]:
            return ObjectComparator.less(value1, value2)
        if operation in ["<=", "LE"]:
            return ObjectComparator.are_equal(value1, value2) or ObjectComparator.less(value1, value2)
        if operation in [">", "GT"]:
            return ObjectComparator.more(value1, value2)
        if operation in [">=", "GE"]:
            return ObjectComparator.are_equal(value1, value2) or ObjectComparator.more(value1, value2)
        if operation == "LIKE":
            return ObjectComparator.match(value1, value2)

        return True
def compare ( value1 , operation , value2 ) : if operation == None : return False operation = operation . upper ( ) if operation in [ "=" , "==" , "EQ" ] : return ObjectComparator . are_equal ( value1 , value2 ) if operation in [ "!=" , "<>" , "NE" ] : return ObjectComparator . are_not_equal ( value1 , value2 ) if operation in [ "<" , "LT" ] : return ObjectComparator . less ( value1 , value2 ) if operation in [ "<=" , "LE" ] : return ObjectComparator . are_equal ( value1 , value2 ) or ObjectComparator . less ( value1 , value2 ) if operation in [ ">" , "GT" ] : return ObjectComparator . more ( value1 , value2 ) if operation in [ ">=" , "GE" ] : return ObjectComparator . are_equal ( value1 , value2 ) or ObjectComparator . more ( value1 , value2 ) if operation == "LIKE" : return ObjectComparator . match ( value1 , value2 ) return True
Perform comparison operation over two arguments.
        The operation can be performed over values of any type.

        :param value1: the first argument to compare

        :param operation: the comparison operation: "==" ("=", "EQ"), "!= " ("<>", "NE"); "<"/">"
                                                    ("LT"/"GT"), "<="/">=" ("LE"/"GE"); "LIKE".

        :param value2: the second argument to compare

        :return: result of the comparison operation