View difference between Paste ID: 6038GUEP and FifNmv6W
SHOW: | | - or go back to the newest paste.
1
import operator, re
2
3-
def _match(pattern, string):
3+
def _match(pattern, _string):
4-
	return True if re.match(pattern, string) else False
4+
	return True if re.match(pattern, _string) else False
5
6
numeric_types_operators = { '<' : operator.lt, '<=': operator.le, '==': operator.eq, '!=': operator.ne, '>=': operator.ge,'>' : operator.gt }
7
8
allowed_operators = {
9
	boolean : {
10
		'==': operator.eq,
11
		'!=': operator.ne,
12
	}, int : numeric_types_operators,
13
	float : numeric_types_operators,
14-
	sting : {
14+
	string : {
15
		'match' : _match
16
	}
17
}
18
19
def evaluate(value, eval_string):
20
	""" eval string example: operator value_to_compare """
21
	operation, value_to_compare = eval_string.split(" ")
22
	return allower_operators[type(value)][operation](value, value_to_compare)